.NET 4.5 Framework 上的 WiX 检查总是返回一个值?

Posted

技术标签:

【中文标题】.NET 4.5 Framework 上的 WiX 检查总是返回一个值?【英文标题】:WiX check on .NET 4.5 Framework always returns a value? 【发布时间】:2013-10-19 16:42:03 【问题描述】:

我的目标是显示 .NET 4.5 框架在运行安装程序的机器上不可用的弹出窗口。

我已经阅读了许多关于 WiX 中的 .NET 运行时检查的文章。在其中大多数我找到了我需要的东西:

PropertyRef: NETFRAMEWORK45
Condition: Installed or NETFRAMEWORK45

但是,此条件永远不会最终为 FALSE,因此不会显示消息。 为了“测试”这个,我改变了我的:

InnerText:
Installed OR FALSE (could've been just FALSE as well to be fair)
Message: 
I will be shown: [NETFRAMEWORK45]

我的测试环境是一个几乎没有安装任何东西的 Windows 8 VMWare:

消息框总是导致:

I will be shown: #378389

PS:“Wix #378389”的 Google 给了我三个点击,最后一个似乎很有用,但它不再可用:

https://www.google.be/search?q=%23378389&oq=%23378389&aqs=chrome..69i57.154j0j7&sourceid=chrome&espv=210&es_sm=93&ie=UTF-8#es_sm=93&espv=210&q=wix+%23378389

总结:

如何使用此 NETFRAMEWORK45 PropertyRef?即,我做错了什么? 也欢迎提供一般提示

如果您需要更多信息,请告诉我。

【问题讨论】:

【参考方案1】:

Windows 8 默认安装了 .NET 4.5。这就是 NETFRAMEWORK45 返回值的原因:它是 .NET 4.5 的内部版本值。

【讨论】:

哦,天哪...我实际上并没有考虑到某些内容会默认包含在 Windows 中,并且不会显示在“添加或删除程序”中。非常感谢您指出,显然是显而易见的!今晚我将使用 Windows 7 创建一个 VMWare,一旦我的测试通过,我会将你的答案标记为已接受。 在 Windows 7 上,我确实得到了弹出窗口。已接受答案,再次感谢!

以上是关于.NET 4.5 Framework 上的 WiX 检查总是返回一个值?的主要内容,如果未能解决你的问题,请参考以下文章

WiX 在具有 .NET 3.5 的机器上安装 .NET 4.5,但不在具有 .NET 4.0 的机器上

如何创建自动安装 .Net Framework 4.5 的引导程序

WiX 安装程序是不是依赖于 .NET Framework?

使用 WiX 安装 .NET Framework 4.0.2

WiX 引导程序的示例应用程序(检查 .NET Framework 和 SQL Server 2005/2008)

如何使用 WiX Burn 在 Windows 8 和 Windows Server 2012 上安装 .NET Framework 3.5?