【问题标题】:WiX bootstrapper disable .NET Framework installation chainingWiX 引导程序禁用 .NET Framework 安装链接
【发布时间】:2014-04-10 14:22:06
【问题描述】:

在我的 WiX 安装程序中,如果没有安装 .NET,我不希望它自动安装。它应该只是给出一个警告或只是错误输出。

避免它的原因是explained here

一个巨大的词 注意这里:因为 .Net 安装程序在技术上将成为 您的安装链,如果用户安装了 .Net 但随后取消了您的 安装,您的安装程序仍将列在添加/删除 程序,如果它的组件(.Net 安装程序)已完成。 谨慎行事。

他似乎是故意将其包括在内。但我不是,我碰巧设置了<supportedRuntime version="v4.5" />,我猜这不是真正的版本(就这方面而言,4.5 => 4.0?)。我的 WiX 托管引导程序应用程序 exe 自动提示我下载并安装“缺失”的 .NET Framework。

对于缺少 4.0 的计算机,我不希望发生这种情况。如果我遗漏,WiX 也会抱怨:

<WixVariable Id="WixMbaPrereqLicenseUrl" Value="..." />
<WixVariable Id="WixMbaPrereqPackageId" Value="..." />

我真的留在...,因为我不想让它工作。

In this thread,@Shruthi 问

有没有一种方法来替换必备的 .Net 安装 UI,只通知用户他们需要安装特定版本的 .Net 才能安装捆绑包?

Rob Mensching 回复:

是的,现在可以了。

...但他没有详细说明。 如何现在可能?

谢谢!

================

在我的 Bundle 的 Bootstrap.Config 中:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v6" />  <!-- Pretending it's the future! -->
</startup>

Bundle 本身不引用任何 .NET 内容,也不引用 WixNetFxExtension,而是使用自定义的 &lt;BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost" /&gt;

【问题讨论】:

    标签: wix


    【解决方案1】:

    要回答如何处理对 .Net 4.0 框架的检查,请在您的项目中包含 WixNetfxExtension

    然后在产品下添加对属性 NETFRAMEWORK40FULL 的引用并为其添加条件。

    <PropertyRef Id="NETFRAMEWORK40FULL"/>
    <Condition Message="This application requires .NET Framework 4.0. Please install the .NET Framework then run this installer again.">
      <![CDATA[Installed OR NETFRAMEWORK40FULL]]>
    </Condition>
    

    对于链式案例,再次包含 wixnetfxextension 并包含 NetFx40Redist 包组

    <PackageGroupRef Id="NetFx40Redist"/>
    

    【讨论】:

    • 谢谢,我在 MSI 项目中有这个,但在我看来,这似乎是 Bundle 逻辑的一部分。你觉得有错吗?
    • 哦,所以您将 MSI 与 .Net 框架捆绑在一起?如果是这种情况,请使用链中 WixNetfxExtenion 中的 NetFx40Redist。
    • 嗨 Rick - 我的意思是不要捆绑它。我只是希望它成为一个要求,而不是将它包含在此安装程序可以安装的东西链中。
    • 如果您不想捆绑它,请删除捆绑包中对它的引用,这样就不会安装它。当你的 MSI 被执行时,你说有一个条件检查,所以如果用户没有安装它,他们会在那里收到通知。
    • 我没有使用托管引导程序,虽然windows-installer-xml-wix-toolset.687559.n2.nabble.com/… 看起来它可能会有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多