ドライバの自己署名

ドライバの自己署名で一部詰まったので、ここに残しておく

自己署名参考サイト

Microsoft Technet
http://technet.microsoft.com/ja-jp/library/dd919238(v=ws.10).aspx

詰まったところと解決法

inf2catが見つからない

inf2catにパスが通ってなかった。環境変数に追加するか、直接以下の場所で実行する

c:\Program Files (x86)\Windows Kits\8.0\Tools\x64> inf2cat /driver:"c:\tmp\vmulti" /os:7_x64

inf2catが見つからない(2)

cmd.exeだと実行できないっぽい?のでVSのコマンドプロンプトで起動する

スタートメニュ → すべてのプログラム → Microsoft Visual Studio 2012
→ Visual Studio Tools→ VS2012 x64 Native Tools コマンド プロンプトを開く

inf2catを実行すると「<ファイル名> does not exist」というエラーがでる

下記のように実行するとエラーが出た。

c:\Program Files (x86)\Windows Kits\8.0\Tools\x64> inf2cat /driver:"c:\tmp\vmulti\vmulti.inf" /os:7_x64
c:\tmp\vmulti\vmulti.inf does not exist.

inf2catのdriverに指定するのは、.infファイル名ではなく、.infファイルがあるフォルダパスである。
直感的ではないので要注意

inf2catを実行すると「Parameter format not correct.」というエラーがでる

c:\Program Files (x86)\Windows Kits\8.0\Tools\x64> inf2cat /driver:"c:\tmp\vmulti\" /os:7_x64
Parameter format not correct.

先ほどのエラーと異なるので、.infの読み込みまではいったと勘違いしてしまったため、かなり時間を消費してしまった。
結論としては、指定したパスの最後が「\」で終わってることが原因であった。
「\」を削除して「c:\tmp\vmulti」に変更したら問題なくなった。

inf2catを実行すると「DriverVer set to incorrect date」というエラーがでる

c:\Program Files (x86)\Windows Kits\8.0\Tools\x64> inf2cat /driver:"c:\tmp\vmulti" /os:7_x64
......................
Signability test failed.

Errors:
22.9.7: DriverVer set to incorrect date (postdated DriverVer not allowed) in \vmulti.inf. The current date (UTC) is 9/2/2013.

今回は、エラーメッセージが親切である。.infファイル内のDriverVerを表示されている日時(UTC)より前に修正してやれば良い。
.infを自動生成した時に、DriverVerにJSTでの現在時刻が挿入されたことが原因であった。
DriverVerにはUTCで記述する必要がある