Condividi tramite


ICE38

ICE38 verifica che ogni componente installato nel profilo dell'utente corrente specifichi anche una chiave del Registro di sistema nella radice HKEY_CURRENT_USER nella colonna KeyPath della tabella componente .

Risultato

ICE38 invia un errore se un componente installato nel profilo dell'utente non specifica una chiave del Registro di sistema HKCU.

Esempio

ICE38 segnala gli errori seguenti per l'esempio illustrato.

Errore ICE38 Descrizione
Component1 viene installato nel profilo utente. Deve usare una chiave del Registro di sistema in HKCU come KeyPath, non come file. Il valore della colonna attributi di Component1 è 0, ovvero il componente deve usare un file come KeyPath. Ciò causa difficoltà quando più utenti installano il componente nello stesso computer. Per correggere questo errore in Component1, impostare il bit RegistryKeyPath nella colonna Attributi della tabella Componente e modificare la voce nella colonna KeyPath su un valore elencato nella colonna Registro di sistema della tabella del Registro di sistema .
Component Component2 viene installato nel profilo utente. Deve usare una chiave del Registro di sistema in HKCU come KeyPath. KeyPath è attualmente NULL. Component2 include il bit RegistryKeyPath impostato nella colonna Attributi della tabella componente . Il campo KeyPath deve pertanto contenere una chiave per la colonna Registro di sistema della tabella del Registro di sistema , ma la colonna KeyPath è Null. Per correggere questo errore, modificare il valore KeyPath in una voce valida nella tabella del Registro di sistema.
Component Component3 viene installato nel profilo utente. È necessario che la chiave del Registro di sistema KeyPath sia in HKCU. Component3 include il bit RegistryKeyPath impostato nella colonna Attributes della tabella Component, ma la radice della voce del Registro di sistema specificata nella colonna Radice della tabella del Registro di sistema specifica HKEY_LOCAL_MACHINE anziché HKEY_CURRENT_USER. Per correggere questo errore, usare una voce valida del Registro di sistema in HKEY_LOCAL_MACHINE come KeyPath per questo componente o modificare il valore nella colonna Radice della tabella del Registro di sistema a -1 o 1.
La voce del Registro di sistema KeyPath per il componente Component4 non esiste. Component4 include il bit RegistryKeyPath impostato nella colonna Attributes della tabella Component, ma la voce nella colonna KeyPath non esiste nella tabella del Registro di sistema . Per correggere questo errore, aggiungere una voce per Reg4 alla tabella del Registro di sistema che è un oggetto in HKEY_CURRENT_USER.
La voce del Registro di sistema Reg5 è impostata come KeyPath per il componente Component5, ma tale voce del Registro di sistema non appartiene a Component5. La voce del Registro di sistema a cui si fa riferimento nella colonna KeyPath del componente è stata trovata e si trova sotto l'albero HKCU, ma la colonna Component_ del Registro di sistema non fa riferimento allo stesso componente che lo elenca come KeyPath. Ciò significa che la voce del Registro di sistema usata come KeyPath del componente verrebbe creata solo quando è stato installato un altro componente. Per correggere questo errore, modificare il valore keyPath per fare riferimento a una voce del Registro di sistema appartenente al componente oppure modificare la voce del Registro di sistema in modo che appartenga al componente usandola come KeyPath.

 

tabella directory (parziale)

Directory Directory_Parent DefaultDir
Dir1 StartMenuFolder
Dir2 DesktopFolder
Dir3 Dir3 AppData
Dir4 Dir3 SubDir

 

tabella dei componenti (parziale)

Componente Directory_ Attributi KeyPath
Componente1 Dir1 0 File1
Componente2 Dir2 4
Componente3 Dir3 4 Reg3
Componente4 Dir4 4 Reg4
Componente5 Dir5 4 Reg5

 

tabella del Registro di sistema (parziale)

Registro Radice Valore Componente_
Reg3 2 Componente3
Reg5 0 Componente4

 

di riferimento ICE