在Visual Studio安装项目中跳过对话框

时间:2014-04-20 14:00:44

标签: visual-studio-2010 visual-studio installer setup-project

我创建了一个Visual Studio安装项目(VS 2010),其中一个对话框(4个文本框)是可选的。它取决于用户在上一个对话框中选择的复选框。有什么办法可以跳过可选对话框吗?

2 个答案:

答案 0 :(得分:1)

Visual Studio设置中没有功能可以执行此操作。在VS 2010之后,VS设置仍然会消失,因此您应该选择具有此功能的MSI构建工具。

原则上你可以使用Orca手动更改MSI表,例如ControlEvent表,但除非你已经知道MSI内部是如何工作的,否则几乎是不可能的。

答案 1 :(得分:0)

我还没有找到根据用户在前一个对话框中选择的控件(例如复选框或单选按钮组)来跳过对话框的方法; 但是您可以使用所有必需的控件创建自定义对话框(ref link1ref link2),然后使用具有适当条件语句的“显示/隐藏”操作切换控件的可见性(例如,用户在前一个对话框中选择复选框或单选按钮组),然后您仍然可以像跳过对话框一样进行操作。

这是我的例子: 上一个对话框控件选择的值(已设置为“Foo”或“Bar”)通过“SELTYPE”传递。

当SELTYPE="Foo"时,我会显示名为“CustomControlFoo”和“RadioButtonGroup”的控件,同时隐藏名为“BodyText”的控件; 当 SELTYPE="Bar" 时,我会隐藏名为“CustomControlFoo”和“RadioButtonGroup”的控件,同时显示名为“BodyText”的控件。

My Custom Dialog

更多信息,请阅读微软官方参考: ControlCondition Table

The action that is to be taken on the control. The possible actions are shown in the following table.
Table 2
Value   Meaning
Default     Set control as the default.
Disable     Disable the control.
Enable  Enable the control.
Hide    Hide the control.
Show    Display the control.