Dela via


Formaterad

Den formaterade datatypen är en textsträng som bearbetas för att matcha inbäddade egenskapsnamn, tabellnycklar, miljövariabelreferenser och andra särskilda understrängar. Följande konventioner identifieras för att lösa strängen:

  • Hakparenteser ([ ]) eller klammerparenteser ({ }) utan matchande par finns kvar i texten.

  • Om en delsträng av formuläret [egenskapsnamn] påträffas ersätts den med värdet för egenskapen. Om egenskapsnamn inte är ett giltigt egenskapsnamn matchas delsträngen som tom. Kolumnen Beskrivning i tabellen LaunchCondition tar till exempel en formaterad sträng. Om ERRORTXT har ställts in på "Kontakta supportpersonalen" skulle texten som visas för att misslyckas med startvillkoret innehålla den här strängen. Om ERRORTXT inte har angetts skulle texten som visas för att misslyckas med startvillkoret bara vara "Systemet uppfyller inte installationskraven".

    Tillstånd Beskrivning
    Version 9X Systemet uppfyller inte installationskraven. [ERRORTXT]

     

  • Hakparenteserna kan itereras och egenskapsnamnen matchas inifrån och ut. Anta till exempel att delsträngen [[PropertyA]] visas i texten. Först hämtas värdet för egenskapen PropertyA. Om värdet är ett giltigt egenskapsnamn, till exempel PropertyB, hämtas värdet för PropertyB och hela delsträngen [[PropertyA]] ersätts med värdet för PropertyB. Om PropertyA inte är ett giltigt egenskapsnamn, eller om värdet för PropertyA inte är ett giltigt egenskapsnamn, är delsträngen tom.

  • Om en delsträng av formuläret [%miljövariabel] hittas ersätts värdet för miljövariabeln med understrängen.

  • Om en delsträng av formuläret [\x] hittas ersätts den av tecknet x , där x är ett tecken, utan ytterligare bearbetning. Endast det första tecknet efter omvänt snedstreck behålls. allt annat tas bort. Om du till exempel vill inkludera en literal vänster hakparentes ([) använder du [\[]. Texten [\[]Bracket Text[\]] matchas till [Bracket Text].

  • Om en delsträng omges av klammerparenteser ({ }), och den inte innehåller några egenskapsnamn inom hakparenteser ([ ]), lämnas delsträngen oförändrad, inklusive klammerparenteserna.

  • Om en delsträng omges av klammerparenteser ({ }) och den innehåller ett eller flera egenskapsnamn inom hakparenteser ([ ]) visas texten (med lösta ersättningar) utan klammerparenteser om alla egenskapsnamn är giltiga.

  • Om en delsträng av formuläret [~] hittas ersätts den med null-tecknet. Detta används för att skapa REG_MULTI_SZ teckensträngar i tabellen Registry. Observera att [~] också används för att lägga till eller prefixvärden i miljövariabler med hjälp av tabellen Environment.

  • Om en delsträng av formuläret [#filnyckel] hittas ersätts den av filens fullständiga sökväg, med värdet filnyckel används som nyckel i filtabellen. Värdet för [#filnyckel] förblir tomt och ersätts inte av en sökväg förrän installationsprogrammet kör åtgärden CostInitialize, FileCost-åtgärdoch CostFinalize-åtgärd. Värdet för [#filnyckel] beror på installationstillståndet för komponenten som filen tillhör. Om komponenten körs från källan är värdet sökvägen till filens källplats. Om komponenten körs lokalt är värdet sökvägen till målplatsen för filen efter installationen. Om komponenten har ett åtgärdstillstånd som saknas används komponentens installerade tillstånd för att fastställa [).

  • Om en delsträng av formuläret [$componentkey] hittas ersätts den av komponentens installationskatalog, med värdet componentkey används som en nyckel i komponenttabellen. Värdet för [$componentkey] förblir tomt och ersätts inte av en katalog förrän installationsprogrammet kör åtgärden CostInitialize, FileCost-åtgärdoch CostFinalize-åtgärd. Värdet för [$componentkey] beror på komponentens installationsstatus och var den inträffar. I kolumnen Värde i Registertabellkan den här delsträngen referera till åtgärdstillståndet eller det begärda åtgärdstillståndet för komponenten. I alla andra fall refererar den här delsträngen till komponentens åtgärdstillstånd. Om komponenten till exempel körs från källan är värdet filens källkatalog. Om komponenten körs lokalt är värdet målkatalogen efter installationen. Om komponenten saknas lämnas värdet tomt. Windows Installer spårar både åtgärden och begärda installationstillstånd för komponenter. Om en komponent till exempel redan är installerad kan den ha ett begärt tillstånd för lokalt tillstånd och ett åtgärdstillstånd på null. Mer information om hur du kontrollerar installationstillståndet för komponenter finns i Kontrollera installation av funktioner, komponenter, filer.

  • Observera att om en komponent redan är installerad och inte installeras om, tas bort eller flyttas under den aktuella installationen är åtgärdstillståndet för komponenten null och strängen [$componentkey] utvärderas till Null.

  • Om en delsträng av formuläret [!filnyckel] hittas ersätts den av filens fullständiga korta sökväg, med värdet filnyckel används som en nyckel i filtabellen.

    Den här syntaxen är endast giltig när den används i kolumnen Värde i registret eller IniFile-tabellerna. När den används i andra kolumner behandlas den här syntaxen på samma sätt som [#filnyckel] .