复选框在WiX生成的windows installer中不起作用

复选框在WiX生成的windows installer中不起作用,wix,setup-project,Wix,Setup Project,我使用WiXEdit和Wix对MSI安装进行反向工程,以便将我的主要解决方案从VS2010升级到VS2013 我得到的错误是,当MSI运行时,我在对话框中放置的复选框和文本框就像它们被禁用一样。我需要这些复选框,因为在我的主应用程序中,它们允许用户选择功能集 我已经生成了一个示例,演示了相同的错误。 该解决方案有2(3)个项目,windowsformsapplication12将始终安装,windowsformsapplication1仅在条件CHECKBOX1A=1时安装(SetupProje

我使用WiXEdit和Wix对MSI安装进行反向工程,以便将我的主要解决方案从VS2010升级到VS2013

我得到的错误是,当MSI运行时,我在对话框中放置的复选框和文本框就像它们被禁用一样。我需要这些复选框,因为在我的主应用程序中,它们允许用户选择功能集

我已经生成了一个示例,演示了相同的错误。 该解决方案有2(3)个项目,windowsformsapplication12将始终安装,windowsformsapplication1仅在条件CHECKBOX1A=1时安装(SetupProject2是wix项目,wix脚本在此处显示为setup1.wxs)

(必要时,需要将Wix toolkit安装到visual studio中以编译Wix安装项目,但如果具有安装专家经验的人检查脚本,他们可能会发现它有什么问题。)

铌 在尝试编译反向工程文件时,我在第49149293494行收到错误消息“error 5 the Control element必须正好有一个属性或CheckBoxPropertyRef属性的值”。因此,我将Property=“CHECKBOXA1”(或视情况而定)添加到控件描述符xml的末尾,如果取消对源的请求,可以看到这一点。 我假设我没有在其他地方添加额外的代码,或者我认为它会起作用


这是我第一次遇到Wix脚本,源代码与我见过的Wix教程代码不太相似,因此我无法调试它。

将VS2010安装项目转换为Wix脚本

请为其他认为有用的人找到说明

1) 安装WixToolkit和WixEdit

2) 构建VS2010安装项目

3) 在解决方案中创建新的Wix项目

4) 从Wix项目中删除默认的product.wxs文件

5) 将安装MSI文件复制到Wix项目的根目录

6) 运行WixEdit应用程序

7) 在WixEdit中打开安装MSI文件

(这将生成文件和目录)

7) 将WixEdit生成的目录和文件添加到Wix项目中

8) 编译Wix安装项目并修复错误

9) 从wix项目中删除原始msi文件

重新选中不起作用的复选框

“错误5控件元素必须正好有一个属性或CheckBoxPropertyRef属性的值”

转到脚本中的错误行

<Control Id="Checkbox1" Type="CheckBox" X="18" Y="108" Width="348" Height="12" Text="{\VSI_MS_Shell_Dlg13.0_0_0}Install Main Application" TabSkip="no"/>

将其更改为可读(或适当更改)


CheckBoxValue=“1”是导致我的复选框被禁用的缺失属性

<Control Id="Checkbox1" Type="CheckBox" X="18" Y="108" Width="348" Height="12" Text="{\VSI_MS_Shell_Dlg13.0_0_0}Install Main Application" TabSkip="no" Property="CHECKBOXA1" CheckBoxValue="1" />