如何指定Visual Studio安装程序条件?

Has*_*niH 11 windows-installer visual-studio-2008

我有一个Visual Studio安装项目,我希望安装程序只有在检查了我添加到项目UI的"Checkboxes(A)"表单上的复选框时才创建特定文件夹.该复选框的属性名称是CHECKBOXA1,但我不知道该放置在该文件夹的Condition属性中,以便仅在选中该复选框时才会创建该属性.

Ste*_*bob 20

在文件夹的"条件"属性中,放置以下内容:

CHECKBOXA1 = 1

这将确保仅在选中CHECKBOXA1时才安装该文件夹.

编辑: 好的,我已经想出如何做到这一点,但它有点搞砸了.关于Visual Studio安装程序的另一个奇怪的怪癖.

假设检查CHECKBOXA1时我们要安装的文件夹称为"Folder1",我们将把一个示例文件放在Folder1中,名为test.txt.

首先,我们需要创建一个在安装过程中永远不会显示的包含文件夹,但是我们需要它来完成剩下的工作.因此,在"文件系统"窗口中,创建一个文件夹(我称之为"容器").我们所讨论的应该将Condition属性设置为CHEKCBOXA1 = 1,并且可以将DefaultLocation属性设置为您想要的任何位置,例如[ProgramFilesFolder]\MyApplication.
现在这是重要的部分.确保'Container'文件夹的DefaultLocation属性未设置为[ProgramFilesFolder]\MyApplication\Container,因为无论Condition属性如何,它都将始终创建一个'Container'文件夹.好的,它负责容器文件夹.如果这样做正确,当您安装应用程序时,您将永远不会看到Container文件夹.

现在,在File System窗口的Container文件夹中,创建所需的实际文件夹,本例中为Folder1.将其Condition属性设置为CHECKBOXA1 = 1,并确保其中的任何内容的Condition属性也设置为CHECKBOXA1 = 1.

现在,当您运行安装时,只有在选中CHECKBOXA1时才会显示Folder1.

我不明白为什么要使Container文件夹正常运行,但是它有效,所以我使用它.