如何检测.NET 3.5维克斯?维克、NET

2023-09-02 20:47:14 作者:陌生的,对白

我试图检测哪个版本的.NET使用WiX的安装。我尝试过:

I'm trying to detect which version .NET is installed using WiX. I've tried:

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

但是,这是行不通的,因为MsiNetAssemblySupport属性检查 fusion.dll 的版本,这是不是从2.0版更新了.NET 3.0或3.5。

But that won't work, because the MsiNetAssemblySupport property checks the version of fusion.dll, which wasn't updated from version 2.0 in .NET 3.0 or 3.5.

是否可行,以检查在系统目录中的.NET库的presence?我将如何做,使用WiX的?或者是有一些方法来做到这一点使用注册表?

Is it feasible to check for the presence of the .NET libraries in the system directory? How would I do that using WiX? Or is there some way to do that using the registry?

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

(I realize that there's a WiX user email list, but this is the Oughts-- I don't like 1980s technology, I like stuff I can easily search.)

推荐答案

Visual Studio中 - > WiX工程 - >添加引用 - > WixNetFxExtension.dll然后:

Visual Studio -> WiX project -> Add Reference -> WixNetFxExtension.dll and then:

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

全部详细信息,包括所有的