[%USERPROFILE]
является допустимой ссылкой на переменную среды, но я не думаю, что он может быть использован в этом контексте, поскольку этот контекст не является formatted. Подробности см. На странице Directory Table.
Обратите внимание, что, как упоминалось в комментариях, %USERPROFILE%
, вероятно, является неправильным местом для любых файлов, которые вы захотите установить. Рассмотрим использование другого predefined folder, такого как AppDataFolder
, LocalAppDataFolder
, или PersonalFolder
.
Если вы идете с PersonalFolder
, я полагаю, вы можете просто использовать, что вместо того, чтобы:
<Directory Id="PersonalFolder"> ... </Directory>
Если нет удовлетворительного предопределенного свойства папки, вы можете использовать либо type 51 или type 35 пользовательское действие (в зависимости от того, вы планируете его до или после CostFinalize, чтобы установить значение времени выполнения вашей папки в [%USERPROFILE]
. Эти пользовательские действия будут форматировать значение, которое они используют. Обязательно используйте имя ALL-CAPS, чтобы его можно было установить во время выполнения. , если каталог называется USERPROFILEFOLDER:
<SetDirectory Id="USERPROFILEFOLDER" Value="[%USERPROFILE]"/>
<!-- or -->
<SetProperty Id="USERPROFILEFOLDER" Value="[%USERPROFILE]"/>
(И не забудьте запланировать действие где-то.)
http://stackoverflow.com/questions/17500373/wix-toolset-setting-a-property-to-user-profile-folder- path-and-program-files и http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Environment-variables-into-a-WIX-property-td5412818.html может представлять интерес для вы. Я никогда не видел [% USERPROFILE], и это выглядит странно. Cursory check не находит его в документах Wix. Возможно, это не будет действительным. – Will
Спасибо за ваши входные данные @ Будем ли я пробовать то, о чем они говорили, напрасно. – bam500
Любые ссылки на текущего пользователя не будут иметь смысла для каждой установки. Вы уверены, что ваша настройка зависит от пользователя, а не от компьютера? (И в любом случае размещение вашего файла .ini непосредственно в профиле пользователя, а не в папке данных приложения пользователя, - это не то, что нужно сделать. Windows не Linux!) –