如何在WiX中检测.NET 3.5?

时间:2009-03-25 18:10:13

标签: .net wix version

我正在尝试使用WiX检测.NET安装的版本。我试过了:

<Condition Message='This setup requires the .NET Framework 3.5 or higher.'>
  <![CDATA[MsiNetAssemblySupport >= "3.5.0.0"]]>
</Condition>

但这不起作用,因为MsiNetAssemblySupport属性检查fusion.dll的版本,该版本未从.NET 3.0或3.5版本2.0更新。

检查系统目录中是否存在.NET库是否可行?我怎么用WiX做到这一点?或者有一些方法可以使用注册表吗?

(我知道有一个WiX用户电子邮件列表,但这是Oughts--我不喜欢80年代的技术,我喜欢我可以轻松搜索的东西。)

2 个答案:

答案 0 :(得分:37)

Visual Studio - &gt; WiX项目 - &gt;添加参考 - &gt; WixNetFxExtension.dll然后:

<PropertyRef Id="NETFRAMEWORK35" />
<Condition Message="This setup requires the .NET Framework 3.5 to be installed.">
  Installed OR NETFRAMEWORK35
</Condition>

Full details,包括扩展程序中提供的所有.NET version properties。还要考虑条件消息是否应为localized

答案 1 :(得分:1)

答案似乎是否定的。您不能(以可靠的方式)检查是否安装了.NET Framework X或更高版本。您只能检查是否安装了特定的.NET版本。 现在.NET 4.0已经发布,即使已经安装了.NET 4.0,也必须安装.NET 3.5。

我希望WiX开发人员能找到解决这个问题的方法。