我创建了一个Visual Studio安装项目(VS 2010),其中一个对话框(4个文本框)是可选的。它取决于用户在上一个对话框中选择的复选框。有什么办法可以跳过可选对话框吗?
答案 0 :(得分:1)
Visual Studio设置中没有功能可以执行此操作。在VS 2010之后,VS设置仍然会消失,因此您应该选择具有此功能的MSI构建工具。
原则上你可以使用Orca手动更改MSI表,例如ControlEvent表,但除非你已经知道MSI内部是如何工作的,否则几乎是不可能的。
答案 1 :(得分:0)
我还没有找到根据用户在前一个对话框中选择的控件(例如复选框或单选按钮组)来跳过对话框的方法; 但是您可以使用所有必需的控件创建自定义对话框(ref link1,ref link2),然后使用具有适当条件语句的“显示/隐藏”操作切换控件的可见性(例如,用户在前一个对话框中选择复选框或单选按钮组),然后您仍然可以像跳过对话框一样进行操作。
这是我的例子: 上一个对话框控件选择的值(已设置为“Foo”或“Bar”)通过“SELTYPE”传递。
当SELTYPE="Foo"时,我会显示名为“CustomControlFoo”和“RadioButtonGroup”的控件,同时隐藏名为“BodyText”的控件; 当 SELTYPE="Bar" 时,我会隐藏名为“CustomControlFoo”和“RadioButtonGroup”的控件,同时显示名为“BodyText”的控件。
更多信息,请阅读微软官方参考: 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.