Udostępnij za pośrednictwem


ICE38

ICE38 sprawdza, czy każdy składnik instalowany w profilu bieżącego użytkownika określa również klucz rejestru w katalogu głównym HKEY_CURRENT_USER w kolumnie KeyPath tabeli składników .

Wynik

ICE38 publikuje błąd, jeśli składnik zainstalowany w profilu użytkownika nie określa klucza rejestru HKCU.

Przykład

ICE38 zgłasza następujące błędy dla pokazanej próbki.

Błąd ICE38 Opis
Składnik Component1 instaluje się w profilu użytkownika. Musi on używać klucza rejestru w kluczu HKCU jako ścieżki KeyPath, a nie pliku. Wartość kolumny atrybutów składnika Component1 wynosi 0, co oznacza, że składnik musi używać pliku jako ścieżki KeyPath. Powoduje to trudności, gdy wielu użytkowników zainstaluje składnik na tym samym komputerze. Aby naprawić ten błąd w składniku Component1, ustaw bit RegistryKeyPath w kolumnie Atrybuty tabeli Component i zmień wpis w kolumnie KeyPath na wartość wymienioną w kolumnie Rejestr tabeli Registry.
Składnik Component2 jest instalowany w profilu użytkownika. Musi on używać klucza rejestru w kluczu HKCU jako ścieżki KeyPath. Parametr KeyPath ma obecnie wartość NULL. Składnik2 ma bit RegistryKeyPath ustawiony w kolumnie Atrybuty tabeli składników . W związku z tym pole KeyPath musi zawierać klucz do kolumny Rejestr Tabeli rejestru, ale kolumna KeyPath ma wartość Null. Aby naprawić ten błąd, zmień wartość KeyPath na prawidłowy wpis w tabeli Registry.
Składnik Component3 instaluje się w profilu użytkownika. Klucz rejestru KeyPath musi należeć do klucza HKCU. Składnik3 ma bit RegistryKeyPath ustawiony w kolumnie Atrybuty tabeli Component ale katalog główny wpisu rejestru określonego w kolumnie Główne tabeli Rejestru określa HKEY_LOCAL_MACHINE, a nie HKEY_CURRENT_USER. Aby rozwiązać ten błąd, użyj prawidłowego wpisu rejestru w HKEY_LOCAL_MACHINE jako ścieżki KeyPath dla tego składnika lub zmień wartość w kolumnie Główne tabeli rejestru , aby -1 lub 1.
Wpis rejestru KeyPath składnika Component4 nie istnieje. Składnik4 ma bit RegistryKeyPath ustawiony w kolumnie Atrybuty tabeli Component ale wpis w kolumnie KeyPath nie istnieje w tabeli rejestru . Aby rozwiązać ten błąd, dodaj wpis reg4 do tabeli Rejestru, która znajduje się w obszarze HKEY_CURRENT_USER.
Wpis rejestru Reg5 jest ustawiony jako KeyPath dla składnika Component5, ale ten wpis rejestru nie należy do Component5. Wpis Rejestru, do którego odwołuje się kolumna KeyPath składnika, został znaleziony i znajduje się pod drzewem HKCU, ale wpis rejestru Component_ kolumny nie odwołuje się do tego samego składnika, który wymienił go jako keyPath. Oznacza to, że wpis rejestru używany jako ścieżka keypath składnika zostanie utworzony tylko wtedy, gdy został zainstalowany inny składnik. Aby naprawić ten błąd, zmień wartość KeyPath, aby odwoływać się do wpisu rejestru należącego do składnika, lub zmienić wpis rejestru, aby należał do składnika, używając go jako KeyPath.

 

Directory Table (częściowe)

Katalog Directory_Parent DefaultDir
Dir1 StartMenuFolder
Dir2 Folder pulpitu
Dir3 Dir3 AppData
Dir4 Dir3 SubDir

 

tabela składników (częściowa)

Składnik Katalog_ Atrybuty KeyPath
Składnik1 Dir1 0 Plik1
Składnik2 Dir2 4
Składnik3 Dir3 4 Reg3
Składnik4 Dir4 4 Reg4
Składnik5 Dir5 4 Reg5

 

tabeli rejestru (częściowe)

Rejestr Korzeń Wartość Składnik_
Reg3 2 Składnik3
Reg5 0 Składnik4

 

dokumentacji ICE