Windows セットアップのインストール中に、サードパーティの libusb ドライバーをインストールしたいと考えています。このインストールは、Visual Studio 2010 で作成しました。
SetupAPI と DifXAPI を使用してコマンド ラインからこのドライバーをインストールしようとしましたが、何も起こりません。署名されていないドライバーであることを示すウィンドウがポップアップするはずです。続行するには [OK] をクリックする必要があります。このウィンドウをポップアップさせる唯一の方法は、C# コンソール アプリケーションとP/Invokeを使用して、DifXApi (inf-wizard によって生成されたように見える INF ファイルを指す) からドライバー インストール コードを呼び出すことです。プロジェクトを x64 用にビルドする必要がありました (これは 32 ビット インストーラーでも機能する必要があります)。[OK] をクリックしても、ドライバーはインストールされませんでした。
このドライバーが正しくインストールされる唯一の方法は、USB 経由でハードウェアを接続し、不明なデバイスを右クリックして、ドライバー DLL ファイル、sys ファイル、および INF ファイルを含むフォルダーを参照することです。Windows はドライバーのインストール方法をどのように判断しますか?
INF ファイルには 32 ビット/64 ビット/Itanium 用のドライバー セクションがありますが、Windows はどのセクションをインストールするかをどのように認識しているのでしょうか。