標準のコード - デプロイ - デバッグ サイクル中に "devcon" を使用して UMDF ドライバーを更新する際に問題が発生しています。問題は、DLL ファイルと INF ファイルのバージョン番号または日付が、システムのドライバー キャッシュ フォルダーに格納されているものから変更されていない限り、"devcon update" は実際には何も更新しないことです。途方もない一連の実験の後、最新のファイルを強制的に使用する方法の 1 つは、次のようにすることであることがわかりました。
- 「-v」オプションでバージョンを明示的に設定することにより、「makefile.inc」の「stampinf.exe」に渡されるパラメーターを変更します。
- リソース スクリプト ファイル ("DRIVER_NAME.rc") を変更して、
VER_USE_OTHER_MAJOR_MINOR_VER
" " を含める前に最初に定義ntverp.h
し、次に and を明示的に定義VER_PRODUCTMAJORVERSION
しVER_PRODUCTMINORVERSION
ます。このシステムでは、ビルドとリビジョン番号を変更することはできません。Win7 では、これは " " で 7600 と 16385 に固定されているようntverp.h
です。これは設計によるものですか?
そのため、最初に「makefile.inc」を変更し、「-v」オプションを「1.1.7600.16385」などに設定して、ビルドごとに手動でマイナー バージョンをインクリメントしてから、RC ファイルを変更VER_PRODUCTMINORVERSION
して同じ番号で更新します。
または、SYSTEM アカウントでコマンド プロンプトを実行し、「devcon」を実行する前に「C:\windows\system32\DriverStore\FileRepository\DRIVER FOLDER」のドライバー キャッシュ フォルダーを削除すると、それも機能します。
今、私はここでかなり基本的な何かが欠けていると考えています. 助けてください!ありがとう!