首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WiX安装程序-如何使用WiX3.10检查.net框架3.5和4.6

WiX安装程序-如何使用WiX3.10检查.net框架3.5和4.6
EN

Stack Overflow用户
提问于 2018-08-23 22:04:19
回答 2查看 530关注 0票数 1

只有在安装Framework4.6时,我才需要允许WiX安装程序安装产品。如果不是这样,我将向用户显示一条错误消息。

这很好,但是现在我必须验证,如果在Framework3.5中运行了以前的版本,我必须让用户知道Framework4.6是必需的。不知怎么的,我的方法行不通了。会很感激你的帮助。这是我在WiX中使用的代码:

代码语言:javascript
复制
  <PropertyRef Id="WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED" />  
  <Condition Message="This application requires .NET Framework 4.6. Please install the .NET Framework then run this installer again.">
    <![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]>
  </Condition>

  <PropertyRef Id="NETFRAMEWORK35" />
  <Condition Message="This application requires .NET Framework 4.6. Please install the .NET Framework then run this installer again.">
    <![CDATA[(NETFRAMEWORK35 AND NOT WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED)]]>
  </Condition>

在CustomAction.config中,我有:

代码语言:javascript
复制
<startup useLegacyV2RuntimeActivationPolicy="true">           
      <supportedRuntime version="v4.0" />
      <supportedRuntime version="v2.0.50727"/>
</startup>

更新

将启动条件更改为:

代码语言:javascript
复制
  <Condition Message="This application requires .NET Framework 4.6. Please install the .NET Framework then run this installer again.">
    <![CDATA[(Installed OR (NETFRAMEWORK35 = "#1" AND WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED))]]>
  </Condition>

但是安装程序所做的只是显示熟悉的“安装向导过早结束”

EN

回答 2

Stack Overflow用户

发布于 2018-08-24 05:34:50

也许我对你的场景有些不理解,但第一个条件不适合这两种情况吗?您只需要安装.NET 4.6吗?现在,只有在安装了3.5, 4.6没有安装时,第二个条件才是正确的。因此,我假设如果安装了这两个版本,安装程序就不会启动--我不确定这些版本是否可以共存?我永远无法跟踪可以同时安装哪些.NET版本,以及它们共享什么CLR。我认为,3.5版是Windows 7的一些细节版。

我在你的问题中没有看到任何自定义动作WiX标记,所以我不能说任何关于那个WiX托管代码自定义操作不是我的专长。

票数 0
EN

Stack Overflow用户

发布于 2018-08-24 09:20:55

你们的两个发射条件是互相对抗的。

一种是允许安装,如果找到.Net框架4.6或更高版本。其他只有在找到.Net Framework3.5而.Net Framework4.6未找到的情况下才允许安装。

第二个条件没有"Installed OR“属性,它确保卸载不会因为启动条件而失败。

自定义操作Config只影响自定义操作项目,您的启动条件不会受到它的影响。

编辑:除非您的启动条件使用由用户定义的自定义操作创建的某些属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51994895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档