【发布时间】:2014-10-24 15:27:37
【问题描述】:
我正在尝试修改现有的 Wix 脚本以检查是否安装了 .NET 4.0,而不是 .NET 2.0,然后再继续。目前这是使用 wxs 文件中的自定义操作完成的:
<InstallUISequence>
<Custom Action="VSDCA_VsdLaunchConditions" Before="ValidateProductID">NOT Installed</Custom>
</InstallUISequence>
我找不到任何要更改的设置,以便它检查 .NET 4.0 而不是 2.0。它似乎是硬编码的,它可能与 Wix 或 Windows Installer 的版本有关吗?我们目前使用的是 Wix 3.0。如果机器上只安装了 .NET 4.0,那么安装程序日志中会出现以下错误:
动作开始时间 15:53:36:VSDCA_VsdLaunchConditions。 信息 2898。对于 VSI_MS_Sans_Serif13.0_0_0 文本样式,系统创建了一个 0 字符集、高度为 13 像素的“MS Sans Serif”字体。 调试:错误 2835:在对话框 ErrorDialog 上找不到控件 ErrorIcon 安装程序在安装此软件包时遇到意外错误。这可能表明此软件包有问题。错误代码为 2835。参数为:ErrorIcon、ErrorDialog、 此设置需要 .NET Framework 4.0 版 操作于 15:53:39 结束:VSDCA_VsdLaunchConditions。返回值 3。 行动于 15:53:39 结束:安装。返回值 3。
如果安装了 .NET 2.0,则继续安装。
【问题讨论】:
-
您是明确使用 WiX v3.0 还是实际使用 3.x?如果您使用的是 的
WixNetfxExtension属性 -
我试图找出 VSDCA_VsdLaunchConditions 为什么/如何检查 .NET 2.0。我找不到任何配置来控制它。