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 Del Registro di sistema contiene le colonne seguenti.
Colonna | Tipo | Chiave | Nullable |
---|---|---|---|
Registro | Identificatore | S | N |
Root | Integer | N | N |
Chiave | RegPath | N | N |
Nome | Formattato | N | S |
Valore | Formattato | N | S |
Componente_ | Identificatore | N | N |
-
Registro
-
Chiave primaria usata per identificare un record del Registro di sistema.
-
Radice
-
Chiave radice predefinita per il valore del Registro di sistema. Immettere il valore -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 chiave radice specifica.
Costante Valore esadecimale Decimal Chiave radice (nessuna) - 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 un'installazione per computer viene specificata impostando la proprietà ALLUSERS su 1. msidbRegistryRootClassesRootRoot 0x000 0 HKEY_CLASSES_ROOT Il programma di installazione scrive o rimuove il valore dall'hive HKCU\Software\Classes durante l'installazione nel contesto di installazione per utente.
Il programma di installazione scrive o rimuove il valore dall'hive HKLM\Software\Classes 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 nell'hive HKCU facciano riferimento a un componente con il bit RegistryKeyPath impostato nella colonna Attributi della tabella Component. Ciò garantisce che il programma di installazione scriva 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 predefinita del Registro di sistema.
Se la colonna Valore è Null, le stringhe visualizzate nella tabella seguente nella colonna Name hanno un significato speciale.
string Significato + La chiave deve essere creata, se assente, quando il componente viene 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 viene 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 il componente è installato.
-
Valore
-
Questa colonna è il valore del Registro di sistema localizzabile. Il campo è Formattato. Se il valore è associato a uno dei prefissi seguenti ,ad esempio #%value, 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 oggetto # 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 di 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 di 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 all'inizio o alla fine dell'elenco di stringhe, le stringhe devono sostituire eventuali stringhe di valori del Registro di sistema esistenti.
- In caso contrario, il valore viene interpretato e archiviato come stringa (REG_SZ).
-
Componente_
-
Chiave esterna nella prima colonna della tabella Component che fa riferimento al componente che controlla l'installazione del valore del Registro di sistema.
Le azioni WriteRegistryValues e RemoveRegistryValues nelle tabelle di sequenza elaborano le informazioni in questa tabella. Per informazioni sull'uso delle 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 nella 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 usare 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 essere eseguita prima delle azioni RemoveRegistryValues e WriteRegistryValues nella sequenza di azioni.
Per informazioni su come proteggere una chiave del Registro di sistema, vedere la tabella MsiLockPermissionsEx ela tabella LockPermissions.