Sdílet prostřednictvím


ICE38

ICE38 ověřuje, že každá komponenta nainstalovaná v profilu aktuálního uživatele také určuje klíč registru pod kořenem HKEY_CURRENT_USER ve sloupci KeyPath tabulky komponent komponent.

Výsledek

ICE38 publikuje chybu, pokud součást nainstalovaná v profilu uživatele nezadá klíč registru HKCU.

Příklad

ICE38 hlásí následující chyby pro zobrazenou ukázku.

Chyba ICE38 Popis
Komponenta Component1 se nainstaluje do profilu uživatele. Musí používat klíč registru v HKCU jako jeho klíč KeyPath, nikoli soubor. Hodnota sloupce atributů component1 je 0, což znamená, že komponenta musí jako cestu ke klíči použít soubor. To způsobuje potíže, když na stejný počítač nainstaluje komponentu více uživatelů. Chcete-li tuto chybu opravit u komponenty 1, nastavte bit RegistryKeyPath ve sloupci Atributy tabulky Komponenta a změňte položku ve sloupci KeyPath na hodnotu uvedenou ve sloupci Registru tabulky Registry.
Komponenta Component2 se nainstaluje do profilu uživatele. Musí jako svou cestu ke klíči klíče použít klíč registru v HKCU. Cesta ke klíči je aktuálně NULL. Component2 má vlastnost RegistryKeyPath bit nastavena ve sloupci Atributy tabulky Komponenta. Pole KeyPath proto musí obsahovat klíč ke sloupci Registru tabulka registru, ale sloupec KeyPath má hodnotu Null. Chcete-li tuto chybu opravit, změňte hodnotu KeyPath na platnou položku v tabulce Registru.
Komponenta Component3 se nainstaluje do profilu uživatele. Je to klíč registru KeyPath musí spadat pod HKCU. Komponenta3 má bit RegistryKeyPath nastaven ve sloupci Atributy tabulky Komponenta, ale kořen položky registru zadané v kořenovém sloupci tabulky Registru určuje HKEY_LOCAL_MACHINE místo HKEY_CURRENT_USER. Chcete-li tuto chybu opravit, použijte platnou položku registru pod HKEY_LOCAL_MACHINE jako cestu ke klíči pro tuto komponentu nebo změňte hodnotu v kořenovém sloupci tabulky registru registru na -1 nebo 1.
Položka registru KeyPath pro komponentu Component4 neexistuje. Komponenta4 má bit RegistryKeyPath nastaven ve sloupci Atributy tabulky Komponenta, ale položka ve sloupci KeyPath neexistuje v tabulky registruregistru . Chcete-li tuto chybu opravit, přidejte položku reg4 do tabulky registru, která je pod HKEY_CURRENT_USER.
Položka registru Reg5 je nastavena jako KeyPath pro komponentu Component5, ale tato položka registru nepatří do Component5. Položka registru odkazovaná ve sloupci KeyPath komponenty byla nalezena a leží pod stromem HKCU, ale položka registru Component_ sloupec neodkazuje zpět na stejnou komponentu, která je uvedena jako KeyPath. To znamená, že položka registru použitá jako cesta ke klíči komponenty by byla vytvořena pouze v případě, že byla nainstalována jiná komponenta. Chcete-li tuto chybu opravit, změňte hodnotu KeyPath tak, aby odkazovat na položku registru, která patří komponentě, nebo změnit položku registru tak, aby patřila do komponenty, která ji používá jako KlíčPath.

 

adresářové tabulky (částečné)

Adresář Directory_Parent DefaultDir
Dir1 StartMenuFolder
Dir2 DesktopFolder
Dir3 Dir3 AppData
Dir4 Dir3 Poddir

 

komponentní tabulky (částečné)

Komponenta Adresář_ Atributy KeyPath
Component1 Dir1 0 Soubor 1
Component2 Dir2 4
Component3 Dir3 4 Reg3
Component4 Dir4 4 Reg4
Component5 Dir5 4 Reg5

 

tabulky registru (částečné)

Registr Kořen Hodnota Komponenta_
Reg3 2 Component3
Reg5 0 Component4

 

referenční ICE