Условный путь установки в зависимости от целевой ОС - PullRequest
0 голосов
/ 13 ноября 2011

Я создаю проект установки Visual Studio для установки на XP, Vista и Windows 7. Для того, чтобы моя программа была успешно установлена ​​на Vista и Seven, она должна быть установлена ​​в:

c:\ProgramData

Я указал путь установки Папки приложений, как указано по умолчанию:

[CommonAppDataFolder][Manufacturer]\[ProductName] 

и в качестве условия я поставил:

VersionNT>=600

Однако я хочу, чтобы моя программа была установленав:

c:\programfiles\Manufacturer

... для XP.Я добавил специальную папку, которая указывала на ProgramFilesFolder и в условие, которое я поставил:

VersionNT<600

Однако кажется, что это условие не проверяется, и оно всегда пытается установить в * C: \ Documents and Settings \Все пользователи \ Application Data \ mySoftware * для XP.

Я не уверен, что здесь что-то отсутствует.Я очень ценю любую помощь и предложение.

1 Ответ

0 голосов
/ 14 ноября 2011

Это не поддерживается проектами установки Visual Studio, но это может быть сделано с помощью других инструментов создания настроек.Общий подход таков:

  • создать тип 51 настраиваемое действие (свойство установлено с форматированным текстом)
  • запланировать его до CostInitialize действие в InstallUISequence
  • настроить его для установки свойства папки установки в пользовательскую папку установки XP
  • обусловить это действие для запуска только в XP

Таким образом, ваш пакет будет использовать путь установки Windows 7 по умолчанию, а путь XP - только при выполнении вашего настраиваемого действия.

...