Udostępnij za pośrednictwem


Tabela rejestru

Tabela Rejestr zawiera informacje rejestru, które aplikacja musi ustawić w rejestrze systemowym.

Tabela Rejestr zawiera następujące kolumny.

Kolumna Typ Klucz Nullable
Rejestr identyfikator Y N
Korzeń liczba całkowita N N
Klucz RegPath N N
Nazwa sformatowane N Y
Wartość sformatowane N Y
Składnik_ identyfikator N N

 

Kolumny

rejestr

Klucz podstawowy używany do identyfikowania rekordu rejestru.

katalog główny

Wstępnie zdefiniowany klucz główny dla wartości rejestru. Wprowadź wartość -1 w tym polu, aby klucz główny był zależny od typu instalacji. Wprowadź jedną z pozostałych wartości w poniższej tabeli, aby wymusić zapisanie wartości rejestru w określonym kluczu głównym.

Stały Szesnastkowych Dziesiętny Klucz główny
(brak) - 0x001 -1 Jeśli jest to instalacja na użytkownika, wartość rejestru jest zapisywana w obszarze HKEY_CURRENT_USER. Jeśli jest to instalacja na maszynę, wartość rejestru jest zapisywana w HKEY_LOCAL_MACHINE. Należy pamiętać, że instalacja na maszynę jest określona przez ustawienie właściwości ALLUSERS na 1.
msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOTInstalator zapisuje lub usuwa wartość z HKCU\Software\Classes hive podczas instalacji w kontekście instalacji użytkownika.
Instalator zapisuje lub usuwa wartość z HKLM\Software\Classes hive podczas instalacji poszczególnych maszyn.
msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER
msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE
msidbRegistryRootUsers 0x003 3 HKEY_USERS

 

Należy pamiętać, że zaleca się, aby wpisy rejestru zapisane w HKCU hive odwoły się do składnika z bitem RegistryKeyPath ustawionym w kolumnie Atrybuty tabeli składników . Dzięki temu instalator zapisuje niezbędne wpisy rejestru, gdy na tym samym komputerze znajduje się wielu użytkowników.

klucz

Klucz lokalizowalny dla wartości rejestru.

nazwa

Ta kolumna zawiera nazwę wartości rejestru (lokalizowalne). Jeśli jest to wartość Null, dane wprowadzone w kolumnie Wartość są zapisywane w domyślnym kluczu rejestru.

Jeśli kolumna Value ma wartość Null, ciągi pokazane w poniższej tabeli w kolumnie Nazwa mają specjalne znaczenie.

Struna Znaczenie
+ Kluczem jest utworzenie, jeśli nie ma go, gdy składnik jest zainstalowany.
- Klucz ma zostać usunięty, jeśli istnieje, ze wszystkimi jego wartościami i podkluczami po odinstalowaniu składnika.
* Kluczem jest utworzenie, jeśli nie ma go, gdy składnik jest zainstalowany. Ponadto klucz ma zostać usunięty, jeśli istnieje, ze wszystkimi jego wartościami i podkluczami po odinstalowaniu składnika.

 

Należy pamiętać, że tabela RemoveRegistry musi być używana, jeśli zainstalowany klucz rejestru ma zostać usunięty, z jego wartościami i podkluczami po zainstalowaniu składnika.

wartość

Ta kolumna jest wartością rejestru lokalizowalnego. Pole jest sformatowane. Jeśli wartość jest dołączona do jednego z następujących prefiksów (tj. #%wartość), wartość jest interpretowana zgodnie z opisem w tabeli. Należy pamiętać, że każdy prefiks zaczyna się od znaku numeru (#). Jeśli wartość zaczyna się od co najmniej dwóch kolejnych znaków liczbowych (#), pierwszy # jest ignorowany, a wartość jest interpretowana i przechowywana jako ciąg.

Przedrostek Znaczenie
#x Wartość jest interpretowana i przechowywana jako wartość szesnastkowa (REG_BINARY).
#% Wartość jest interpretowana i przechowywana jako ciąg rozszerzalny (REG_EXPAND_SZ).
# Wartość jest interpretowana i przechowywana jako liczba całkowita (REG_DWORD).

 

  • Jeśli wartość zawiera tyldę sekwencji [~], wartość jest interpretowana jako rozdzielana wartością null lista ciągów (REG_MULTI_SZ). Aby na przykład określić listę zawierającą trzy ciągi a, b i c, użyj wartości "a[~]b[~]c".
  • Sekwencja [~] w wartości oddziela poszczególne ciągi i jest interpretowana i przechowywana jako znak null.
  • Jeśli ciąg [~] poprzedza listę ciągów, ciągi mają być dołączane do dowolnych istniejących ciągów wartości rejestru. Jeśli ciąg dołączania już występuje w wartości rejestru, oryginalne wystąpienie ciągu zostanie usunięte.
  • Jeśli ciąg [~] następuje po końcu listy ciągów, ciągi mają być poprzedzane wszystkimi istniejącymi ciągami wartości rejestru. Jeśli ciąg wstępny już występuje w wartości rejestru, oryginalne wystąpienie ciągu zostanie usunięte.
  • Jeśli ciąg [~] znajduje się zarówno na początku, jak i na końcu lub na początku, ani na końcu listy ciągów, ciągi mają zastąpić wszystkie istniejące ciągi wartości rejestru.
  • W przeciwnym razie wartość jest interpretowana i przechowywana jako ciąg (REG_SZ).

Component_

Klucz zewnętrzny w pierwszej kolumnie tabeli składników odwoływanie się do składnika, który kontroluje instalację wartości rejestru.

Uwagi

Akcje WriteRegistryValues i RemoveRegistryValues w tabelach sekwencji przetwarzać informacje w tej tabeli. Aby uzyskać informacje na temat używania tabel sekwencji , zobacz Using a Sequence Table.

Informacje o rejestrze są zapisywane w rejestrze systemowym, gdy odpowiedni składnik został wybrany do zainstalowania lokalnie lub uruchomienia ze źródła.

Należy pamiętać, że instalator usuwa klucz rejestru po usunięciu ostatniej wartości lub podklucza pod kluczem. Aby zapobiec usunięciu pustego klucza rejestru podczas odinstalowywania, zapisz fikcyjną wartość w kluczu, który należy zachować i wprowadzić znak + w kolumnie Nazwa. Jeśli * znajduje się w kolumnie Nazwa, klucz zostanie usunięty ze wszystkimi jego wartościami i podkluczami po usunięciu składnika.

Akcję niestandardową można użyć do dodawania wierszy do tabeli Rejestru podczas instalacji, odinstalowywania lub naprawiania transakcji. Te wiersze nie są utrwalane w tabeli Rejestru, a informacje są dostępne tylko podczas bieżącej transakcji. W związku z tym akcja niestandardowa musi być uruchamiana w każdej instalacji, odinstalowaniu lub naprawie transakcji, która wymaga informacji w tych dodatkowych wierszach. Akcja niestandardowa musi pojawić się przed RemoveRegistryValues i akcje WriteRegistryValues w sekwencji akcji.

Aby uzyskać informacje na temat zabezpieczania klucza rejestru, zobacz MsiLockPermissionsEx Table i LockPermissions Table.

Walidacja

ICE02
ICE03
ICE06
ICE32
ICE38
ICE43
ICE46
ICE49
ICE53
ICE55
ICE57
ICE70
ICE80