DPInst.exe について

お世話になっております。ShuUです。

現在、WinUSB を利用したデバイスドライバ開発を行っているのですが、
「DPInst.exe」を使用することにより、ハードウェアを接続する前に、
デバイスドライバのインストールができるらしいという情報を得ました。

しかしながら、肝心の「DPInst.exe」を使用したセットアップの作成方法が
見つけられていません。

本件について、何かご情報があれば、ご教授願います。

DPInst関係の話題なの

DPInst関係の話題なので、memoとしてここに書きます。

WDK 7.x.x(7.0.0以降)に含まれるDPInst.exeは、Windows 2000上ではインストール動作を実行しません。

たとえWindows 2000をサポートしているドライバのインストールに使用された場合であっても、
「コンピュータのために設計されたドライバが検出されませんでした。」
という、今ひとつ不可解なメッセージを出して終了します。

6001.18002のをDPInst.exeを使う事でこの問題は回避できます。勿論6001.18002のDPInst.exeは、Windows 7上でもインストール動作を実行するので、万能です。

WDK 7.x.x(7.0.0以降)に含まれるDPInst.exeは、Windows 2000にインストールさせたくない場合に使う事ができます。

WDK 7.x.x(7.0.0以降)に含まれるDIFxAppのマージモジュールは、そんな事はなく、Windows2000用にも利用可能ですが、Visual Studioを使って.EXEを作る場合には.EXEをWindows 2000で動作させる工夫が必要です。

DIFxAPIのサンプルコー

DIFxAPIのサンプルコード「AppDrv」を流用して、DPInst.exeみたいなインストーラを作ってみました。
ただしメッセージは何も表示しません。
「プログラムと機能」へのエントリの登録と登録エントリからの削除には対応させています。

またレガシドライバやソフトウェア・ドライバのインストールに対応したものも作りました。
詳細は1月25日頃発売予定の インターフェース誌 2009年3月号をご覧ください。
ソースは以下に公開しています。

http://devdrv.co.jp/download/interface/0903/

hidaka

次号の予告ですが、DI

次号の予告ですが、DIFxAppです。

先行して、Visual Studio 2008のセットアッププロジェクトファイルで作成したインストーラをダウンロード公開しています。

http://devdrv.co.jp/download/interface/0901/

解説と作成手順は、本誌をご参照下さい。

hidaka

ところで、先日のWinHE

ところで、先日のWinHEC 2008のセッションで聞いた話によると、今ではこの手のユーザとの対話を求めるインストーラは「悪い例」との事です。(自分たちで開発手順を提供しているくせに...)
ドライバなんてユーザの知らないうちにインストールされていて、使いたい時に正しく動作すれば良いとのこと。

利用ライセンスをちゃんと読んだ?嘘つき!インストール先の場所?そんなの知ったこっちゃないだろ。
古いタイプのドライバインストーラには問題が山積しているとか。ま、確かにそうなんですが...

hidaka

念のため補足します

念のため補足します。

WDK6000 と WDK6001.18001 の DPInst.exeは同じバージョン(2.1.0.0)なので(もちろんビルド日時も同じ)、WDKのバージョンによって DPInstの挙動が変わることはないでしょう。

>

> XPでは「プログラムの追加と削除」に表示されたのですが、Vistaでは表示されておりません。
> Vista対応で何か問題があるからなのかもしれませんが。

Vista対応のWDK6001.18001付属のものを使用している限りでは、
そのような問題は経験していません。ちゃんと「プログラムと機能」に表示され、削除可能です。
単体ダウンロード版の、DIFx Tools Version 2.01はVista非対応です。

以下に先行して、インターフェース誌の原稿で使用したサンプルを公開しましたので、試してみて下さい。

http://devdrv.co.jp/download/interface/0812/

hidaka

WDK6001.18001付属のもの

WDK6001.18001付属のもので試したところ、「プログラムの追加と削除」に表示することができました。
※教えて頂いたサンプルも正常に動作しました。
単体ダウンロード版のドキュメントには、Longhorn対応とは記載があったので、Vistaでも対応できていると
思っておりました。

情報ありがとうございました。

はじめましてsmiley0825

はじめましてsmiley0825です

どなたかDPInst.exeをVistaで使われたことがある方はいらっしゃいませんでしょうか?

VistaでもDPInst.exeを使用すると、
「プログラムの追加と削除」に登録され、表示されるのでしょうか?

MS DocにはVistaでその点に関する変更点は記述されていませんでした。

現在XPとVistaで対応するドライバを開発しており、XPでは
「プログラムの追加と削除」に表示されたのですが、Vistaでは表示されておりません。
Vista対応で何か問題があるからなのかもしれませんが。

大変遅ればせながら

大変遅ればせながらで恐縮ですが、やっと原稿がモノになりました。
次号のインターフェース誌の連載に、DPInstの記事が載ります。

ちなみにDPInstは、DIFxAppやDIFxLIB(DIFxAPI)に比べれば、はるかに簡単です。

hidaka

DPInst.exeの使い方につ

DPInst.exeの使い方についてちょとブログに書いてみました。
よかったら参考になさってください。

WinUSB.sys 事始め

どうも、ShuUです。 >

どうも、ShuUです。

> backy氏

ブログ、大変参考になりました。

ドライバ一式と5つのファイルが必要だということで、
セットアップファイル構成を容易に作成することが出来ました。

まず、"C:\WinDDK\6001\src\setup\DPInst"をコピーしました。

次に、書名が無いドライバだと怒られてしまうので、
"dpinst.xml"に""を追記しました。
http://msdn.microsoft.com/en-us/library/ms791067.aspx

続いて、5つのファイルと同じ階層に、INFファイルを置きました。

最後に、i386フォルダを作って、
"WinUSBCoInstaller.dll"と"WdfCoInstaller01007.dll"を格納で完了。

bmpやicoは未だToasterなので、これも作り変える必要がありますが、
DPInst.exeの使い方については、入門編をクリアできたかと思います。

何か間違っているところがあれば、また、ご指導願います。
有難う御座いました。

皆様、ご返信有難う

皆様、ご返信有難う御座います。
(客先缶詰で、こちらのチェックが遅くなりましたが……)

詳細は pool 氏にご提示頂いた MSDN で確認をします。
hideka 氏がご提示された方法も、来年以降は主流かもしれませんね。

ゴルギアス氏の内容は、あとで確認してみます。
(DPInst.exe の使用例として)

今回は、backy 氏の考えと同じく XP 対応も視野にあります。
さすがに Win2k は対象外にしますが、XP PC は未だ入手可能ですので。

毎度のように、英文と格闘しながら、頑張ってみます。m(_ _)m

富士通NB40 ポインティ

富士通NB40

ポインティングデバイスの更新時において
富士通からダウンロードした更新プログラムの解凍後Driver Package Installerをクリック

Driver Package InstallerがDPInst.exeの説明(プロパティ)

たいていはsetup exe(存在していなかった)

WIndows

WIndows Vistaでは、
ハードウェアを接続する前に、デバイスドライバのインストールができるようにするのは
pnputilを使用する方が一般的です。

http://www.microsoft.com/japan/technet/windowsserver/2008/library/e46319...

現在Interface誌の連載原稿を書いているとことですが、DPInstは、DIFxAPI/DIFxAPPとともに、
インストール・パッケージを作成するためのツールです。
\src\setup\ 以下も参考にして下さい。

こんにちは。 今のOS

こんにちは。

今のOSの利用状況では Vistaのみの対応では不十分で XPもインストール対象にしなければならないと思います。
なので、pnputilよりも DPInst.exe でインストールパッケージを作成するほうが、余計な手間を省いてVistaとXPの両方に対応できますよ。

ちなみに、DPInstを用いるとDriverStoreにドライバ一式が格納されるため、「ドライバのプリインストール状態」となって客先に納品するPCへの設定が楽でした。(どのUSBポートにデバイスを接続しても、自動的にドライバを探し出してデバイスが使用可能な状態になるから)

以上、ご参考までに。

こんにちは 私はDPInst

こんにちは
私はDPInst使ったことはないのですが、
DPInstについては、
http://msdn.microsoft.com/en-us/library/ms791049.aspx
に書いてあります。

ちなみにDPInst.exeは
WDKインストール先\redist\DIFx
にあります。