Создание папок в проекте установки установщика Visual Studio - PullRequest
4 голосов
/ 03 ноября 2011

Я создал проект установки установщика Visual Studio (2010) для развертывания базового приложения WinForms, и мне нужен мой установщик для создания пары каталогов на основе ОС, на которой он работает. Например, когда установщик запущен в Windows XP (и более ранних версиях), мне нужно создать:

Application Folder\NewFolder

Если установщик работает в Vista или более поздней версии, мне нужно создать каталог под общей папкой данных приложения (т.е. C: \ ProgramData), например:

Common Application Data Folder\NewFolder

Я вижу, что могу добавить «Пользовательскую папку» через «Вид» -> «Файловая система», но я не уверен, как объявить свойство DefaultLocation для этой новой папки. По умолчанию используется значение [TARGETDIR], но я не уверен, как указать местоположение каталога, который я хочу создать. Можно ли это сделать с помощью проекта установки установщика Visual Studio или мне не повезло?

Ответы [ 3 ]

3 голосов
/ 09 ноября 2011

Наконец-то я заработал, добавив обе папки в свой проект установки через View -> File System.Затем я указал условие для каждой папки.Для папки, которую я хочу создать в XP, я использовал «WindowsBuild <6000», а для папки Vista / Windows 7 я использовал «WindowsBuild> = 6000».

3 голосов
/ 03 ноября 2011

Это не поддерживается проектами установки Visual Studio.

Другие инструменты разработки настроек поддерживают это с помощью пользовательского действия типа 51 (свойство устанавливается с форматированным текстом).

По сути, ваш TARGETDIR по умолчанию может указывать на одно местоположение, а пользовательское действие типа 51 может изменить его на другое местоположение во время установки.Это пользовательское действие может быть обусловлено свойством VersionNT .

0 голосов
/ 05 апреля 2013

В вашей специальной папке вы можете установить для DefaultLocation значение [CommonAppDataFolder].

В XP это разрешится в c: \ Documents and Settings \ all users \ application data

Ина Win 7 это разрешается в c: \ ProgramData

...