windows -\% USERPROFILE virker ikke med WiX

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg laver en opsætning af min ansøgning med WiX. Jeg vil kopiere/indsætte en .ini-fil i den aktuelle brugermappe på Windows (C: \ Users \ {brugernavn})


Jeg så på dette indlæg, at jeg skulle bruge tagget [[\% USERPROFILE]] .
Jeg bruger det på denne måde:


<Directory Id="UserFolder" Name="[\%USERPROFILE]">
<Directory/>


Som følge heraf oprettes en mappe [[\% USERPROFILE]] i C: \ indeholdende .ini-filen. Dette er ikke det, jeg vil have.


Har nogen en ide om, hvordan man får det til at fungere?

Bedste reference


[\%USERPROFILE] er en gyldig miljøvariabel reference, men jeg tror ikke det kan bruges i denne sammenhæng, da denne kontekst ikke er formateret. Se katalogtabellen for detaljer. [12] [13]


Bemærk, at \%USERPROFILE\% som nævnt i kommentarerne sandsynligvis er det forkerte sted for eventuelle filer, som du måske vil installere. Overvej at bruge en anden foruddefineret mappe, som f.eks. AppDataFolder, LocalAppDataFolder eller PersonalFolder. [14]


Hvis du går med PersonalFolder, tror jeg, du kan bare bruge det i stedet: [15]


<Directory Id="PersonalFolder"> ... </Directory>


Hvis der ikke er nogen tilfredsstillende foruddefineret mappeegenskab, kan du bruge enten en type 51 eller en type 35-tilpasset handling (afhængigt af om du planlægger det før eller efter CostFinalize for at indstille mappens kørselstid værdi til [\%USERPROFILE]. Brugerdefinerede handlinger vil formatere den værdi, de bruger. Sørg for at bruge et ALL-CAPS navn, så det kan indstilles på kørselstid. Hvis f.eks. mappen hedder USERPROFILEFOLDER: [16] [17]


<SetDirectory Id="USERPROFILEFOLDER" Value="[\%USERPROFILE]"/>
<!-- or -->
<SetProperty Id="USERPROFILEFOLDER" Value="[\%USERPROFILE]"/>


(Og glem ikke at planlægge handlingen et sted.)