Formattazione

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 sottostringa speciali. Le convenzioni seguenti vengono riconosciute per risolvere la stringa:

  • Parentesi quadre ([ ]) o parentesi graffe ({ }) senza coppie corrispondenti vengono lasciate nel testo.

  • Se viene rilevata una sottostringa del modulo [propertyname] viene sostituita dal valore della proprietà. Se il nome proprietà non è un nome di proprietà valido, la sottostringa viene risolta come vuota. Ad esempio, la colonna Description della tabella LaunchCondition accetta una stringa formattata. Se ERRORTXT è stato impostato su "Contattare il personale di supporto". Il testo visualizzato per la mancata condizione di avvio includerebbe questa stringa. Se ERRORTXT non è impostato, il testo visualizzato per la mancata condizione di avvio sarebbe solo "System non soddisfa i requisiti di installazione".

    Condizione Descrizione
    Versione9X Il sistema non soddisfa i requisiti di installazione. [ERRORTXT]

     

  • Le parentesi quadre possono essere iterazione e i nomi delle proprietà vengono risolti dall'interno. Si supponga, ad esempio, che la sottostringa [[PropertyA]] venga visualizzata nel testo. Prima di tutto, viene recuperato il valore della proprietà PropertyA. Se il valore è un nome di proprietà valido, ad esempio PropertyB, il valore di PropertyB viene recuperato 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 modulo [%environmentvariable], il valore della variabile di ambiente viene sostituito per la sottostringa.

  • Se viene trovata una sottostringa del modulo [\x], viene sostituita dal carattere x , dove x è un carattere, senza alcuna ulteriore elaborazione. Solo il primo carattere dopo che la barra rovesciata viene mantenuta; tutto il resto viene rimosso. Ad esempio, per includere una parentesi letterale a sinistra ([), usare [\[]. Il testo [\[]Testo parentesi quadre[\]] viene risolto in [Testo parentesi quadre].

  • Se una sottostringa è racchiusa tra parentesi graffe ({ }) e non contiene nomi di proprietà racchiusi tra parentesi quadre ([ ]), la sottostringa viene lasciata 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 le parentesi graffe.

  • Se viene trovata una sottostringa del modulo [~] viene sostituita con il carattere Null. Viene usato per creare stringhe di caratteri REG_MULTI_SZ nella tabella Registro di sistema. Si noti che [~] viene usato anche per aggiungere o prefissi valori alle variabili di ambiente usando la tabella Ambiente.

  • Se viene trovata una sottostringa del modulo [#filekey] viene sostituita dal percorso completo del file, con la chiave file utilizzata come chiave nella tabella File. Il valore di [#filekey] rimane vuoto e non viene sostituito da un percorso finché il programma di installazione esegue l'azione CostInitialize, l'azione FileCost e 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 è il percorso del percorso di origine del file. Se il componente viene eseguito in locale, il valore è il percorso del 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 modulo [$componentkey], viene sostituita dalla directory di installazione del componente, con la chiave componente valore usata come chiave nella tabella Component. Il valore di [$componentkey] rimane vuoto e non viene sostituito da una directory finché il programma di installazione esegue l'azione CostInitialize, l'azione FileCost e CostFinalize. Il valore di [$componentkey] dipende dallo stato di installazione del componente e dal punto in cui si verifica. Nella colonna Value 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 fa riferimento allo stato di 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 in locale, 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, può 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 una sottostringa del modulo [! filekey] viene trovato, viene sostituito dal percorso breve completo del file, con la chiave filekey usata come chiave nella tabella File.

    Questa sintassi è valida solo quando viene usata nella colonna Value del Registro di sistema o nelle tabelle IniFile. Se usato in altre colonne, questa sintassi viene considerata uguale a [#filekey] .