Condividi tramite


Tabella del Registro di sistema

La tabella Registry contiene le informazioni del Registro di sistema che l'applicazione deve impostare nel Registro di sistema.

La tabella Registry contiene le colonne seguenti.

Colonna Digitare Chiave Nullable
Registro identificatore Y N
Radice Integer N N
Chiave RegPath N N
Nome formattato N Y
Valore formattato N Y
Componente_ identificatore N N

 

Colonne

Registro di sistema

Chiave primaria usata per identificare un record del Registro di sistema.

radice

Chiave radice predefinita per il valore del Registro di sistema. Immettere un valore di -1 in questo campo per rendere la chiave radice dipendente dal tipo di installazione. Immettere uno degli altri valori nella tabella seguente per forzare la scrittura del valore del Registro di sistema in una determinata chiave radice.

Costante Esadecimale Decimale Chiave radice
(nessuno) - 0x001 -1 Se si tratta di un'installazione per utente, il valore del Registro di sistema viene scritto in HKEY_CURRENT_USER. Se si tratta di un'installazione per computer, il valore del Registro di sistema viene scritto in HKEY_LOCAL_MACHINE. Si noti che viene specificata un'installazione per computer impostando la proprietàALLUSERSsu 1.
msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOTIl programma di installazione scrive o rimuove il valore dal HKCU\Software\Classes hive durante l'installazione nel contesto di installazione per utente .
Il programma di installazione scrive o rimuove il valore dal HKLM\Software\Classes hive durante le installazioni per computer.
msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER
msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE
msidbRegistryRootUsers 0x003 3 HKEY_USERS

 

Si noti che è consigliabile che le voci del Registro di sistema scritte nella HKCU hive facciano riferimento a un componente con il bit RegistryKeyPath impostato nella colonna Attributes della tabella Component. In questo modo, il programma di installazione scrive le voci del Registro di sistema necessarie quando sono presenti più utenti nello stesso computer.

chiave

Chiave localizzabile per il valore del Registro di sistema.

nome

Questa colonna contiene il nome del valore del Registro di sistema (localizzabile). Se è Null, i dati immessi nella colonna Valore vengono scritti nella chiave del Registro di sistema predefinita.

Se la colonna Valore è Null, le stringhe visualizzate nella tabella seguente nella colonna Name hanno un significato speciale.

Corda Significato
+ La chiave deve essere creata, se assente, quando il componente è installato.
- La chiave deve essere eliminata, se presente, con tutti i relativi valori e sottochiavi, quando il componente viene disinstallato.
* La chiave deve essere creata, se assente, quando il componente è installato. Inoltre, la chiave deve essere eliminata, se presente, con tutti i relativi valori e sottochiavi, quando il componente viene disinstallato.

 

Si noti che la tabella RemoveRegistry deve essere utilizzata se deve essere eliminata una chiave del Registro di sistema installata, con i relativi valori e sottochiavi, quando viene installato il componente.

valore

Questa colonna è il valore del Registro di sistema localizzabile. Il campo è formattato. Se il valore è associato a uno dei prefissi seguenti (ad esempio #%valore), il valore viene interpretato come descritto nella tabella. Si noti che ogni prefisso inizia con un segno di numero (#). Se il valore inizia con due o più segni di numero consecutivi (#), il primo # viene ignorato e il valore viene interpretato e archiviato come stringa.

Prefisso Significato
#x Il valore viene interpretato e archiviato come valore esadecimale (REG_BINARY).
#% Il valore viene interpretato e archiviato come stringa espandibile (REG_EXPAND_SZ).
# Il valore viene interpretato e archiviato come numero intero (REG_DWORD).

 

  • Se il valore contiene la tilde della sequenza [~], il valore viene interpretato come un elenco di stringhe delimitato da Null (REG_MULTI_SZ). Ad esempio, per specificare un elenco contenente le tre stringhe a, b e c, usare "a[~]b[~]c".
  • La sequenza [~] all'interno del valore separa le singole stringhe e viene interpretata e archiviata come carattere Null.
  • Se [~] precede l'elenco di stringhe, le stringhe devono essere aggiunte a qualsiasi stringa del valore del Registro di sistema esistente. Se nel valore del Registro di sistema si verifica già una stringa di accodamento, l'occorrenza originale della stringa viene rimossa.
  • Se [~] segue la fine dell'elenco di stringhe, le stringhe devono essere anteporte a qualsiasi stringa di valore del Registro di sistema esistente. Se nel valore del Registro di sistema si verifica già una stringa in sospeso, l'occorrenza originale della stringa viene rimossa.
  • Se [~] si trova sia all'inizio che alla fine o non all'inizio né alla fine dell'elenco di stringhe, le stringhe devono sostituire qualsiasi stringa di valore del Registro di sistema esistente.
  • In caso contrario, il valore viene interpretato e archiviato come stringa (REG_SZ).

Component_

Chiave esterna nella prima colonna della tabella componente che fa riferimento al componente che controlla l'installazione del valore del Registro di sistema.

Osservazioni

Le azioni WriteRegistryValues e RemoveRegistryValues nelle tabelle di sequenza elaborare le informazioni in questa tabella. Per informazioni sull'uso di tabelle di sequenza , vedere Uso di una tabella sequenza.

Le informazioni del Registro di sistema vengono scritte nel Registro di sistema quando il componente corrispondente è stato selezionato per l'installazione in locale o l'esecuzione dall'origine.

Si noti che il programma di installazione rimuove una chiave del Registro di sistema dopo aver rimosso l'ultimo valore o la sottochiave sotto la chiave. Per impedire la rimozione di una chiave del Registro di sistema vuota durante la disinstallazione, scrivere un valore fittizio nella chiave che è necessario mantenere e immettere + nella colonna Nome. Se * si trova nella colonna Name, la chiave viene eliminata, con tutti i relativi valori e sottochiavi, quando il componente viene rimosso.

È possibile utilizzare un'azione personalizzata per aggiungere righe alla tabella del Registro di sistema durante un'installazione, una disinstallazione o una transazione di ripristino. Queste righe non vengono mantenute nella tabella del Registro di sistema e le informazioni sono disponibili solo durante la transazione corrente. L'azione personalizzata deve pertanto essere eseguita in ogni installazione, disinstallazione o transazione di ripristino che richiede le informazioni contenute in queste righe aggiuntive. L'azione personalizzata deve venire prima del RemoveRegistryValues e WriteRegistryValues azioni nella sequenza di azioni.

Per informazioni su come proteggere una chiave del Registro di sistema, vedere tabella MsiLockPermissionsEx Table e Tabella LockPermissions.

Convalida

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