• 締切済み

ドライバのインストーラ作製

VisualStudio2005でUSB機器と通信するソフトを作製して、インストーラも作製しています。 インストーラで、DLLなども一緒にインストールできたのですが、USBドライバを自動的にインストールさせる方法がわかりません。 現在は、USB機器を繋いでから、デバイスマネージャからドライバを手動でインストールしなければいけません。 市販のソフトでインストール時に同時にドライバもインストールするものもありますが、そういうインストーラの作成はVisualStudioでもできるのでしょうか? USBドライバはFTDIの物でftd2xx.sys、ftd2xx.infです。 よろしくお願いします。

みんなの回答

noname#251971
noname#251971
回答No.1

当方が利用したことがあるわけでは無いのであやふやで申し訳ありませんが、 VisualStudioで作成したと書かれているインストーラに対して、 独自のインストール処理のコードを追加できるのであれば、 DIFxAPIなどを利用したコードを記述し、 インストールする処理を実装できるのではないかと思われます。 別のより簡単な方法として、Windows Driver Kit (WDK)に含まれる 「DPInst」を利用してドライバパッケージとしてインストールする方法があります。 DPInstはWDKに含まれる、再頒布可能な実行ファイルの形式で、 ドライバinfファイルとドライバファイル群(これら一式をドライバパッケージと呼ぶ) をインストールウィザードのような形でインストールするものです。 また、アンインストールのためにプログラムの追加と削除のエントリも作成されます。 DPInstがサポートする環境はWindowsXP以降となります。 (DIFxAPI なり DPInst で)ドライバパッケージとしてインストールを行うと、 ドライバストアというところに保存され、機器が実際に接続された際に XPの場合は一旦ハードウェア検出ダイアログが表示されてから自動検索をさせれば、 Vista以降の場合は自動的に検索が行われてドライバのインストールが行われます。 当方で利用したことがあるのがWinUSBドライバのインストールで、 他の場合も同じように行えるかまではわかりませんが、 DPInstを利用する場合の最も単純な使用方法としては、 インストール先OSのアーキテクチャ(x86またはamd64)に一致するdpinst.exe ドライバinfファイルおよびドライバ本体ファイル そして「dpinst.xml」という名称の以下のようなテキストファイルを 1つのディレクトリに配置してdpinst.exeを実行します。 # ちなみに、ドライバパッケージに署名が無い場合、赤い警告画面は出てしまいます。 dpinst.xml例 ---------- <?xml version="1.0"?> <dpInst> <enableNotListedLanguages/> <legacyMode/> </dpInst> ---------- おそらく上記記載のみではいろいろ足りないことがあるかと思いますが、調査の際の導線にでもなればと思います。

dahho
質問者

お礼

ありがとうございます。 知らない用語が多いのでもう少し調べてみます。

関連するQ&A