改变 WIX 生成的 .NET 3.5 引导程序的行为
Posted
技术标签:
【中文标题】改变 WIX 生成的 .NET 3.5 引导程序的行为【英文标题】:Changing behaviour of .NET 3.5 bootstrapper generated by WIX 【发布时间】:2012-10-18 16:47:05 【问题描述】:我有以下问题: 我已经用 WIX 构建了一个安装程序。此安装程序包含 .NET Framework 3.5 的引导程序。第一次安装引导程序就像一个魅力。 .NET 框架 3.5 已安装。但例如在卸载并重新安装引导程序后无法识别 .NET Framework 3.5 已安装。
我发现了以下原因: 根据引导程序日志,它会检查此注册表值:
注册表项“HKLM\Software\Microsoft\NET”的读取值“安装” Framework Setup\NDP \v3.5\1033' 无法读取注册表值
它搜索 .NET 框架的本地化版本(1033=德语)
就我而言,我只安装了英文版框架(1031=English)
所以我只有 1031 作为子键。
所以我的问题是是否可以从
更改支票'HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\1033' 到 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5\'
还有一个名为“已安装”的值,对于引导程序,安装框架的哪种语言并不重要。
提前感谢您的帮助
【问题讨论】:
引导程序是如何创建的? 【参考方案1】:如果您将 burn 用作引导程序,则应在 ExePackage 元素上使用 DetectCondition 属性,如果检测到已安装,则不会运行 .net 框架安装程序。
【讨论】:
以上是关于改变 WIX 生成的 .NET 3.5 引导程序的行为的主要内容,如果未能解决你的问题,请参考以下文章
WiX 引导程序的示例应用程序(检查 .NET Framework 和 SQL Server 2005/2008)
WiX 在具有 .NET 3.5 的机器上安装 .NET 4.5,但不在具有 .NET 4.0 的机器上
如何为 Wix Burn 安装程序包含完整的 .NET 先决条件
如何使用 WiX Burn 在 Windows 8 和 Windows Server 2012 上安装 .NET Framework 3.5?