wixproj 如何在WiX中檢測.NET 3.5?




wixproj 2017 (2)

Visual Studio - > WiX項目 - >添加引用 - > WixNetFxExtension.dll,然後:

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

詳細信息 ,包括擴展中可用的所有.NET版本屬性 。 還要考慮條件消息是否應該本地化

我正在嘗試使用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版本中沒有更新。

檢查系統目錄中是否存在.NET庫是否可行? 我將如何使用WiX? 或者有什麼辦法可以做到這一點使用註冊表?

(我意識到有一個WiX用戶的電子郵件列表,但這是應該 - 我不喜歡1980年代的技術,我喜歡的東西,我可以輕鬆搜索。


答案似乎是否定的。 您不能(以可靠的方式)檢查是否安裝了.NET Framework版本X或更高版本。 您只能檢查是否安裝了特定的.NET版本。 現在.NET 4.0已經發布了,即使已經安裝了.NET 4.0,你也必須安裝.NET 3.5。

我希望WiX開發者能找到解決這個問題的辦法。





version