В настоящее время мы работаем над драйвером устройства Windows, основанным на фреймворке Jungo WinDriver (на самом деле это не самая важная часть). У нас есть сертификат 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 по какой-то неизвестной (по крайней мере, мне) причине.
Кто-нибудь с большим опытом в этой области (файлы 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 драйвера.
<SOMETHING B>
не соответствует строке или комбинации строк в нем. По крайней мере, не прямым способом. ‹br/› Информация SUBJECT сертификата состоит из ее частей, но это будет: 1-я половина тега CN, за которой следуют первые 2/3 тега OU. Мне это кажется странным:‹br/›‹br/› Пример: CN = RandomA Company, OU = RandomB Sub Division‹br/›<SOMETHING B>
= RandomA RandomB Sub‹br/› - person Tobias   schedule 11.01.2012