0

catファイルなしでWindowsXPにデバイスを接続せずに、プログラムでデバイスドライバーをサイレントインストールする方法はありますか?

WindowsDriverKitのDriverPackageInstall関数を使用しています。また、デバイスが接続されている場合にのみドライバをインストールできます。それ以外の場合は、ERROR_NO_SUCH_DEVINSTというエラーが発生します。ただし、この方法はWindowsVistaでは正常に機能します。

もう1つの問題は、catファイルがないためにインストールを続行または停止するようにユーザーに求める警告ダイアログです。両方のOSに表示されます。

何か案は?

4

2 に答える 2

0

これは Windows に組み込まれているため、署名プロンプトを通過することはできませんが、デバイスのインストールに適した devinst と呼ばれる DDK のツールがあります。

それに含まれているソースコードがあります。

于 2009-10-19T13:03:07.477 に答える
0

ドライバーが署名されていないために発生する UI の相互作用を回避する唯一の方法は、レジストリを直接変更して、ハック的にドライバーをプレインストールすることです。

はい、できます。SYSTEM として実行されるHKLM\System\CurrentControlSet\Enum レジストリ キーの ACLを変更し(サービスとして自分自身をインストールするか、 Sysinternals を使用してpsexec -s)、Windows デバイスのインストールで通常追加されるすべてのレジストリ キーを追加する必要があります。自分の。これは、デバイスのデバイス インスタンス ID が正確に予測できる場合にのみ機能します。たとえば、USB デバイスの場合、接続先の正確なポートなどです。

これはハックですが、その結果、デバイスは本質的に「プリインストール」されます。これは大変な作業であり、Windows Vista では機能しなくなります。

Microsoft は、Windows XP で WHQL を使用することを本当に望んでいます。申し訳ありません :(

于 2010-12-22T20:51:42.993 に答える