2013-06-27 3 views
0

Я хочу установить некоторые файлы в папку, расположенную по адресу «C:\Users\Public\MyApp». Есть ли заданная переменная в WiX, которая разрешает «C: \ Users \ Public» в Windows   7 и эквивалентное местоположение в других версиях Windows?Есть ли предварительно установленная переменная WiX для папки «C: Users Public»?

+0

-1 не использовать общие данные приложения. –

ответ

0

Эта задача решается, как показано ниже:

<Directory Id="UserPublicMyAppFolder" Name="MineSched"> 
</Directory> 

<SetDirectory Id="UserPublicMyAppFolder" Value="C:\Users\Public\MyApp" /> 
+3

Зачем вам жесткий код C: \ Users \ Public? Что произойдет, если пользовательский язык Windows не является английским? –

+0

Хорошая точка. Это не мое решение. Я пытался убедить П.А., что [CommonAppDataFolder] - лучший выбор, но решение принимается высшим руководством. Я подниму озабоченность. Благодарю. – sean717

2

No. WiX определяет только эти переменные в проектах по настройке:

sys.CURRENTDIR 
sys.SOURCEFILEPATH 
sys.SOURCEFILEDIR 
sys.PLATFORM 

И переменные WiX используются только тогда, когда пакет установки построен.

Вероятно, вы имеете в виду свойства Windows Installer. Они зависят от версии установщика Windows, перечислены here. Примечание: при чтении требуемой версии установщика Windows в документах вам грозит листинг минимальной версии, которая действительно может быть установлена ​​на конкретную версию операционной системы. Минимальная версия для поддержки свойства будет самой низкой из них.

Ответ по-прежнему «нет». Фактически, для поиска этой папки нет даже API CSIDL. С Windows Vista существует API FOLDERID, хотя установщик Windows не использует его.

Дело в том, что не там, где установлены файлы! Обратите внимание на [CommonAppDataFolder].

+0

Спасибо, Том, я сам это понял. И я согласен с вами в том, что «C: \ Users \ Public \ MyApp» не там, где должны быть установлены файлы. Но я не тот, кто принимает решение в организации. – sean717