Da dove viene l'informazione nella finestra di dialogo Protezione di Windows durante l'installazione del driver viene?

StackOverflow https://stackoverflow.com/questions/8809825

Domanda

Al momento stiamo lavorando su un driver di periferica di Windows in base a WinDriver di Jungo (non proprio la parte importante) quadro. Abbiamo un certificato VeriSign e problemi con il processo di firma o la funzionalità del driver.

Tuttavia, durante i test di installazione (su Windows 7) stiamo assistendo a qualche comportamento strano per quanto riguarda la finestra di dialogo Protezione di Windows che chiede l'installazione di conferma durante il driver di installazione.

In questa finestra di 3 campi sembrano essere visualizzato (citazione ASCII'fied):

+----------------------------------------------------------------------+
| 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.                                         |
+----------------------------------------------------------------------+

Ora, per qualche motivo <SOMETHING A> e <SOMETHING B> sono lo stesso testo. Il che rende il look tipo finestra di strano. Queste informazioni provengono dal file INF (almeno questo è quello che credo in questo momento), ma finora non sono riuscito a trovare informazioni dettagliate su dove si prende da.

In questo momento sembra che ripete il contenuto delle informazioni "Provider" nel file INF due volte per alcuni sconosciuti (almeno per me) ragione.

Qualcuno ha con più esperienza in questo settore (file INF, driver installa ecc) un'idea che cosa potrebbe causare questo comportamento?

O forse un link per qualche informazione in più su quali informazioni dal file INF si abitua a questi di dialogo?

Grazie per aver dedicato del tempo per leggere questo e qualche consiglio in merito alla questione.
-T

[update Piccolo] Solo la prima parte (<SOMETHING A>) sembra venire fuori dalla INF. Il che rende l'origine o la seconda parte ancora più sconcertante ...

[Aggiornamento 2] Copia della INF per richiesta (<...> sono le modifiche di contenuto)

[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"

Il <THE NAME THAT SHOWS UP TWICE (BUT NOT REALLY)> è quello che si presenta in <SOMETHING A>.

Tuttavia, come fuori punte con il piccolo aggiornamento 1, modificare questo valore solo porta a un cambiamento in detta <SOMETHING A> ma non dall'altra.

Dopo aver modificato alcune cose in giro per testare il valore che viene visualizzato in <SOMETHING B> sembra apparire "dal nulla", in quanto non riesco a trovare nel file INF o RC del driver a tutti.

È stato utile?

Soluzione

Il nome nel prompt viene dalla direttiva DriverPackageDisplayName del file INF e l'editore viene dalla firma verificata sul file CAT.

Fonte: http://www.davidegrayson.com/signing/

Altri suggerimenti

Insieme con qualche altra fonte (grazie a tutte le persone oltre a NTDEV su osronline.com [esp. Maxim]) e un po 'scavare nel Registro di sistema che crediamo siamo finalmente in grado di risolvere l'origine del contenuto finestra. Qui di seguito sono le cose che abbiamo trovato:

Utilizzando ancora una volta l'esempio di dialogo:

+----------------------------------------------------------------------+
| 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.                                         |
+----------------------------------------------------------------------+

I campi sembrano essere risolta nel seguente modo:

<SOMETHING A> Sembra uguale al valore sotto "Provider" in voi INF file

<SOMETHING B> Sembra avere più casi:

  • Nei casi in cui la classe di unità esiste già questo valore è uguale al valore di "classdesc" nella chiave di registro appropriato. (Trovato sotto: HKLM\SYSTEM\ControlSet001\Control\Class\<The GUID of your device class>)
  • Tuttavia, per sistema interno classi di unità il valore sembra non essere visualizzato nonostante "classdesc" non è vuoto. Potrebbe anche essere che il valore non viene risolto correttamente o semplicemente ignorato "per scelta" in questi casi.
  • Nulla sarà visualizzato se questa particolare installazione è la prima volta che questa classe di unità è stato introdotto per il sistema.

<COMPANY> Sembra semplice pari al valore CN dal certificato utilizzato per firmare il driver.

Forse c'è ancora un po 'di più ad esso in modo da non esitare a aggiungere ulteriori informazioni. Ma spero che questo almeno contribuire punto qualcuno che cerca le stesse informazioni nella giusta direzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top