Как я указываю Условия Установщика Visual Studio?

У меня есть Проект Установки Visual Studio, и я хочу, чтобы Установщик создал определенную папку, только если проверяется флажок на 'Флажки (A)' форма, которую я добавил к UI проекта. Название свойства для флажка является CHECKBOXA1, но я понятия не имею, что вставить свойство Condition папки так, чтобы это только было создано, если флажок проверяется.

11
задан Stewbob 12 January 2012 в 13:27
поделиться

1 ответ

В свойстве «Условие» для вашей папки поместите следующее:

CHECKBOXA1 = 1

Это обеспечит установку папки только в том случае, если установлен флажок CHECKBOXA1.

РЕДАКТИРОВАТЬ: Хорошо, я понял, как это сделать, но это как-то напортачило. Еще одна странная особенность установщика Visual Studio.

Предположим, что папка, которую мы хотим установить, если установлен флажок CHECKBOXA1, называется «Folder1», и мы поместим образец файла в Folder1 с именем test.txt.

Во-первых, нам нужно создать содержащую папку, которая никогда не будет отображаться во время установки, но она нам нужна для того, чтобы все остальное работало. Итак, в окне вашей файловой системы создайте папку (я назвал свою «Контейнер»). Для свойства Condition должно быть установлено значение CHEKCBOXA1 = 1, как мы уже говорили, а для свойства DefaultLocation можно установить любое значение, например [ProgramFilesFolder] \ MyApplication.
А теперь важная часть. Убедитесь, что для свойства DefaultLocation папки «Контейнер» НЕ установлено значение [ProgramFilesFolder] \ MyApplication \ Container, так как это ВСЕГДА будет создавать папку «Контейнер», независимо от свойства Condition. Хорошо, это касается папки контейнера. Если это сделано правильно, при установке приложения вы никогда не увидите папку «Контейнер».

Теперь внутри папки «Контейнер» в окне «Файловая система» создайте желаемую папку, в данном примере - Folder1. Задайте для его свойства Condition значение CHECKBOXA1 = 1, а также убедитесь, что для любого содержимого в нем свойство Condition также имеет значение CHECKBOXA1 = 1.

Теперь, когда вы запустите установку, Folder1 будет отображаться, только если установлен флажок CHECKBOXA1.

Я не понимаю, зачем нужна папка «Контейнер» для правильной работы, но она работает, поэтому я ее использую.

20
ответ дан 3 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: