Formattato
Il tipo di dati formattato è una stringa di testo elaborata per risolvere i nomi delle proprietà incorporati, le chiavi di tabella, i riferimenti alle variabili di ambiente e altre sottostringhe speciali. Per risolvere la stringa vengono riconosciute le convenzioni seguenti:
Parentesi quadre ([ ]) o parentesi graffe ({ }) senza coppia corrispondente vengono lasciate nel testo.
Se viene rilevata una sottostringa del formato [nomeproprietà] viene sostituita dal valore della proprietà . Se nomeproprietà non è un nome di proprietà valido, la sottostringa viene risolta come vuota. Ad esempio, la colonna Description dell'LaunchCondition Table accetta una stringa formattata. Se ERRORTXT è stato impostato su "Contattare il personale di supporto", il testo visualizzato per l'esito negativo della condizione di avvio includerà questa stringa. Se ERRORTXT non è impostato, il testo visualizzato per il mancato avvio della condizione di avvio sarebbe semplicemente "Sistema non soddisfa i requisiti di installazione".
Condizione Descrizione Versione9X Il sistema non soddisfa i requisiti di installazione. [ERRORTXT] Le parentesi quadre possono essere iterate e i nomi delle proprietà vengono risolti dall'interno. Si supponga, ad esempio, che la sottostringa [[PropertyA]] venga visualizzata nel testo. Innanzitutto, viene recuperato il valore della proprietà PropertyA. Se il valore è un nome di proprietà valido, ad esempio PropertyB, viene recuperato il valore di PropertyB e l'intera sottostringa [[PropertyA]] viene sostituita con il valore di PropertyB. Se PropertyA non è un nome di proprietà valido o se il valore di PropertyA non è un nome di proprietà valido, la sottostringa è vuota.
Se viene trovata una sottostringa del formato [%environmentvariable] , il valore della variabile di ambiente viene sostituito dalla sottostringa.
Se viene trovata una sottostringa del formato [\x] , viene sostituita dal carattere x , dove x è un carattere, senza ulteriori elaborazioni. Viene mantenuto solo il primo carattere dopo la barra rovesciata; tutto il resto viene rimosso. Ad esempio, per includere una parentesi letterale sinistra ([), usare [\[]. Il testo [\[]Testo tra parentesi quadre[\]] viene risolto in [Testo tra parentesi quadre].
Se una sottostringa è racchiusa tra parentesi graffe ({ }) e non contiene nomi di proprietà racchiusi tra parentesi quadre ([ ]), la sottostringa rimane invariata, incluse le parentesi graffe.
Se una sottostringa è racchiusa tra parentesi graffe ({ }) e contiene uno o più nomi di proprietà racchiusi tra parentesi quadre ([ ]), se tutti i nomi delle proprietà sono validi, il testo (con le sostituzioni risolte) viene visualizzato senza parentesi graffe.
Se viene trovata una sottostringa del formato [~], viene sostituita con il carattere Null. Viene usato per creare stringhe di caratteri REG_MULTI_SZ nella tabella del Registro di sistema . Si noti che [~] viene usato anche per aggiungere o anteporre valori alle variabili di ambiente usando la tabella Environment.
Se viene trovata una sottostringa del formato [#chiave filekey] , viene sostituita dal percorso completo del file, con il valore chiave di file usata come chiave nella tabella file. Il valore di [#filekey] rimane vuoto e non viene sostituito da un percorso finché il programma di installazione non esegue l'azione CostInitialize, azione FileCoste 'azione CostFinalize. Il valore di [#filekey] dipende dallo stato di installazione del componente a cui appartiene il file. Se il componente viene eseguito dall'origine, il valore corrisponde al percorso di origine del file. Se il componente viene eseguito localmente, il valore corrisponde al percorso di destinazione del file dopo l'installazione. Se il componente ha uno stato di azione assente, lo stato installato del componente viene usato per determinare [).
Se viene trovata una sottostringa del formato [$componentkey] , viene sostituita dalla directory di installazione del componente, con il valore componentkey usato come chiave nella tabella Componente. Il valore di [$componentkey] rimane vuoto e non viene sostituito da una directory finché il programma di installazione non esegue l'azione CostInitialize, 'azione FileCoste 'azione CostFinalize. Il valore di [$componentkey] dipende dallo stato di installazione del componente e da dove si verifica. Nella colonna Valore della tabella del Registro di sistema , questa sottostringa può fare riferimento allo stato dell'azione o allo stato dell'azione richiesto del componente. In tutti gli altri casi, questa sottostringa si riferisce allo stato dell'azione del componente. Ad esempio, se il componente viene eseguito dall'origine, il valore è la directory di origine del file. Se il componente viene eseguito localmente, il valore è la directory di destinazione dopo l'installazione. Se il componente è assente, il valore viene lasciato vuoto. Windows Installer tiene traccia sia dell'azione che degli stati di installazione richiesti dei componenti. Ad esempio, se un componente è già installato, potrebbe avere uno stato richiesto locale e uno stato di azione null. Per altre informazioni sul controllo dello stato di installazione dei componenti, vedere Controllo dell'installazione di funzionalità, componenti, file.
Si noti che se un componente è già installato e non viene reinstallato, rimosso o spostato durante l'installazione corrente, lo stato dell'azione del componente è Null e la stringa [$componentkey] restituisce Null.
Se viene trovata una sottostringa del formato [!filekey] , viene sostituita dal percorso breve completo del file, con il valore chiave filekey usata come chiave nella tabella file.
Questa sintassi è valida solo se utilizzata nella colonna Value del Registro di sistema o nelle tabelle IniFile. Se usata in altre colonne, questa sintassi viene considerata uguale a [#filekey] .