現在、Jungo の WinDriver (あまり重要な部分ではありません) フレームワークに基づく Windows デバイス ドライバーに取り組んでいます。VeriSign 証明書があり、署名プロセスやドライバー機能に問題はありません。
ただし、(Windows 7 での) インストール テスト中に、ドライバーのインストール中にインストールの確認を求める Windows セキュリティ ダイアログに関して、奇妙な動作が見られます。
そのダイアログでは、3 つのフィールドが表示されているようです (ASCII 化された引用):
+----------------------------------------------------------------------+
| Windows Security |
+----------------------------------------------------------------------|
| Would you like to install this device software? |
| |
| Name: <SOMETHING A> <SOMETHING B> |
| Publisher: <COMPANY> |
| |
+----------------------------------------------------------------------+
| <> Always trust software from "<COMPANY>" [INSTALL] [DON'T INSTALL] |
+----------------------------------------------------------------------|
| Security info / warning etc. |
+----------------------------------------------------------------------+
今、何らかの理由<SOMETHING A>
で と<SOMETHING B>
は同じテキストです。これにより、ダイアログが奇妙に見えます。この情報は INF ファイルから取得されます (少なくとも私は今のところそう信じています)。
現在、何らかの理由で (少なくとも私には) 不明な理由で、INF ファイル内の "プロバイダー" 情報の内容が 2 回繰り返されているようです。
この分野 (INF ファイル、ドライバーのインストールなど) でより多くの経験を持つ人は、この動作の原因を考えていますか?
または、これらのダイアログで使用される INF ファイルの情報に関する詳細情報へのリンクでしょうか。
この記事を読んでいただき、またこの問題に関するアドバイスをいただき、ありがとうございます。
-T
【小さな更新】
最初の部分( <SOMETHING A>
)だけがINFから出てくるようです。どちらが起源または第2部をさらに不可解にします...
[更新 2] 要求ごとの INF のコピー (<...> はコンテンツの編集)
[Version]
Signature=$CHICAGO$
Provider=%PROVIDERNAME%
CatalogFile.NTamd64=<SOME CAT FILE NAME>.cat
DriverVer=<DATE>,<VERSION>
Class=<OUR COMPANY>
ClassGuid={<OUR CLASS ID>}
;---------------------------------------------------------------;
; Driver Information
;---------------------------------------------------------------;
[Manufacturer]
%PROVIDERNAME%=DeviceList,NTamd64
; x86 platform, Win9x, Windows 2000 and later
[DeviceList]
%DESCRIPTION%=DriverInstall,*<OUR DRIVER HANDLE>
; x64 platform, Windows XP x64 edition and later
[DeviceList.NTamd64]
%DESCRIPTION%=DriverInstall,*<OUR DRIVER HANDLE>
;---------------------------------------------------------------;
;---------------------------------------------------------------;
; Source/Destination Information
;---------------------------------------------------------------;
[DestinationDirs]
DefaultDestDir=10,System32\Drivers
[SourceDisksFiles]
<OUR DRIVER NAME>.sys=1
[SourceDisksNames]
;1=%INSTDISK%,,,.
;Delete the above line and uncomment the next line for WHQL
1 = %INSTDISK%,<SOME CAT FILE NAME>.cat,,
;---------------------------------------------------------------;
;---------------------------------------------------------------;
; Installation Section
;---------------------------------------------------------------;
; Installation script for Windows 2000 and later
[DriverInstall.NT]
CopyFiles=DriverCopyFiles
[DriverCopyFiles]
<OUR DRIVER NAME>.sys,,,0x22 ; COPYFLG_NOSKIP | COPYFLG_NO_VERSION_DIALOG
[DriverInstall.NT.hw]
AddReg=DriverHwAddReg
[DriverHwAddReg]
HKR,,SampleInfo,,""
; Register a new class in Windows 2000 and later
[ClassInstall32] ; Register a new class in Windows 2000 and later
AddReg=UpDateRegistry
[UpDateRegistry]
HKR,,,,<OUR COMPANY>
HKR,,Icon,,-5
; Add device driver service
[DriverInstall.NT.Services]
AddService=<OUR SERVICE NAME>, 0x00000002, DriverService
[DriverService]
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\system32\drivers\<OUR DRIVER NAME>.sys
;------------------------------------------------------------------------------
; String Definitions
;------------------------------------------------------------------------------
[Strings]
PROVIDERNAME=<THE NAME THAT SHOWS UP TWICE (BUT NOT REALLY)>
DESCRIPTION=<SOME DESCRIPTION>
INSTDISK="Driver Installation Disk"
<THE NAME THAT SHOWS UP TWICE (BUT NOT REALLY)>
に表示されるのは<SOMETHING A>
です。
ただし、小規模な更新 1 で指摘されているように、この値を変更すると、前述の部分が変更される<SOMETHING A>
だけで、他の部分は変更されません。
テストのためにいくつかのものを変更した後、表示される値は<SOMETHING B>
、ドライバーの INF または RC ファイルでまったく見つからないため、「何もない」ように見えます。