dpinstによるセットアップでWDFとWDMで挙動が違う
投稿者: misono 投稿日時: 水, 2009/12/23 - 15:50
こんにちは。
dpinstでwdmとwdfのドライバの挙動の差異について質問があります。
自前のWDMで設計したUSBドライバにCAによる署名を行った上でdpinstすると、インストールの途中で「このドライバはロゴ認証に合格してない」という表示があります。whqlにまだ申請していないので至極当たり前のように思えるのですが、
一方で、日高さんの記事(http://www.devdrv.co.jp/download/interface/0812/)で提示しているtestInst1によるdpinstではインストール中に上述の表示はありません。TestInst1に含まれるドライバはWDFで作成されているようです。そして、日高さんのデジタル署名が行われていました。
INFの設定内容も確認しましたがTestInst1のINFについても、特筆点はないように見受けられます。
上述からすると、状況としてはWDMかWDFの差異の違いで、インストール時の警告表示の有無が異なるように思えたのですが、正しいでしょうか。
現状は、dpinstでプリインストールしたときの警告と、その後にUSBケーブルを挿したときにも同様の警告が表示されてしまうので、dpinst時は何とか消せないものかと考えています。ロゴ認証を受ければ何ら問題はないのですが。
よろしくご教授いただけましたら幸いです。

Windows
Windows XP時代の古い話をやっと思い出しました。言い訳になりますが、VistaのKMCS騒動にどっぷりと漬かっていたので、すっかり忘れていました。
Windows XP系とWindows Server2003系では、ドライバのCLASSによってインストール時の振る舞いが異なります。WHQLとまだ呼んでいた、当時のWindowsロゴが用意されているCLASSのドライバのインストールでは、SPC署名のインストールでも「ロゴ無し」の警告が出ます。ドライバの動作上の問題は無いのですが、インストール時の操作に手間がかかるため、各メーカがこれを嫌ってロゴを取得し始めました。また一部のメーカでは、この警告を避けるために、ドライバのインストール・クラスをWindowsロゴが用意されていないものへと変更したりもしていました。独自のCLASSをインストールして利用したり、警告が出ないUSBコントローラのクラスを使用したりです。
これの注意点が書いてある文献を探しましたので紹介します。
Authenticode を使用して、Windows Server 2003 用のドライバ パッケージにデジタル署名する
http://www.microsoft.com/japan/whdc/driver/install/authenticode.mspx
Authenticode digital signatureとはSPC署名の事です。2003年5月のWindows Server 2003以降に利用できるようになったので、Windows XPはSP2以降での対応です。以下のように書いてあります。
●Windows Server 2003 and later versions only.
If the driver package is not eligible for the Windows Logo Program, you can use an Authenticode digital signature to authenticate a driver package. However, note the following:
•An Authenticode digital signature does not indicate that the package has passed a test program.
•If the device setup class of a driver package is included in the Windows Logo Program at a future date, you will have to obtain a WHQL digital signature for the driver package.
つまり、Windows Server 2003以降の対応版では、Authenticodeデジタル署名が使えるが、次の点に注意せよということです。
- Authenticodeデジタル署名は、ドライバがテストをパスしたことは示さない。
- デバイスのセットアップのクラスが、Windowsロゴ対象のクラスであればWHQLのデジタル署名が必要である。
という事です。すっきりしましたが、Windows Vista以降とではDPInst等でのインストール動作が異なるのは困ったものです。
もうコメントはない
もうコメントはないだろうと思っていたんですが、
別件で調べていたらこちらの記事の更新を発見しました。
こちらこそ、ひじょうに参考になりました。
デバイスドライバ開発は始めてからやっと1年たつかどうかなのですが、
OSの神髄に触れるところで、ひじょうに大変だなと思うところもありますが、引き込まれるおもしろさもあります。
ロゴ認証については会社の管理の方で却下されてしまいましたのでいろいろ苦慮しています。
でも、このスレッドの発端の問題の原因がわかったので、だいぶすっきりしています。
Windows7の売れ行きが好調のようですし、XPはとりあえず、
現状維持の挙動で納めておきたいと思います。
どうもありがとうございました!