遅いですが、.infファイルを使用している場合は、回答の一部に役立つ可能性があります。この場合は、ローカル プリンターの場合です。
>>>> ウィザードを使用せずにこれを行うには、ドライバーに署名する必要があります。
Windows 7 :
インストール:
- 最初のコマンド インストール:
RUNDLL32 PRINTUI.DLL,PrintUIEntry /if /b "Printer name" /f "driver.inf" /r "com1" /m "driver model name" /h "Intel"
- 2 番目のコマンドは、既定のプリンターを設定します。
RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "Printer name"
- インストールに必要なコマンドは 1 つだけです。USB を使用している場合は「com1」を変更できますが、最も一般的な「usb001」を選択しました。
アンインストール:
プリンターをアンインストールするには、3 つのコマンドが必要で、厳密には次の順序に従います。
- 最初に、「デバイスとプリンター」に表示されるその名前を持つすべてのプリンターを削除する必要があります。
RUNDLL32 PRINTUI.DLL,PrintUIEntry /dl /n "Printer Name" /h "Intel"
- 2 番目のコマンドは、プリンター ドライバーを削除することです
RUNDLL32 PRINTUI.DLL,PrintUIEntry /dd /m "driver model name" /h "Intel"
。この後、プリンターとドライバーは表示されませんが、USB デバイスを取り外して再度接続すると、ドライバーが自動的にインストールされます。これは、Windows がドライバー インストール パックを追加C:\Windows\System32\DriverStore\FileRepository
し、3 番目のコマンドでアンインストールする必要があるためです。
- 3 番目のコマンドは、ドライバーのインストール時に Windows によって作成される oem*.inf を削除します。このタスクを完了するには、2 つのコマンドが必要です。最初のコマンドは、ウィンドウが作成した oem*.inf の名前を検索することです。これを使用して
pnputil.exe -e
、すべての oem*.inf を表示し、名前を手に入れてこれを使用しpnputil.exe -f -d oem5.inf
ますあなたのinfファイルに対応するoem5.inf)
C と Visual C++ 6 を使用してプログラムでこれらのタスクを実行しました。このコマンドを使用しますC:\Windows\Inf\
。自動化するもう 1 つのパラメーターは、/q を使用して、ユーザーに通知せずに実行することです。
cli を使用してインストールするときに注意が必要な動作があります... 同じプリンターに対して 2 つのインストールを実行しないでください。Windows は、プリンター B をインストールするようにランダムな名前を作成し、Windows はプリンター B (copy_A) などに名前を変更します。プリンター B が既に存在する場合。また、アンインストールする必要がある場合は、2 番目のコマンドでドライバーをアンインストールする前に、2 つのプリンターを削除する必要があります。
パラメータを変更する必要があるリモート プリンタについては、http: //technet.microsoft.com/en-us/library/ee624057.aspx を参照してください。
devcon に関するコードも参照してください https://code.msdn.microsoft.com/windowshardware/DevCon-Sample-4e95d71c