在我的WiX安装程序中,如果未安装.NET,我不希望自动安装.NET。它应该只发出警告或仅发出错误。
避免它的原因是explained here:
一个巨大的词 这里要小心:因为.Net安装程序在技术上是其中的一部分 您的安装链,如果用户安装.Net但是取消您的 安装,您的安装程序仍将在添加/删除中列出 程序,因为它的组件(.Net安装程序)完成了。 谨慎行事。
他似乎故意包括它。但我不是,我碰巧设置了<supportedRuntime version="v4.5" />
,我猜这不是真正的版本(4.5 =&gt; 4.0就此而言?)。我的WiX托管引导程序应用程序exe自动提示我下载并安装“缺少的”.NET Framework。
对于缺少4.0的计算机,我不希望发生这种情况。如果我遗漏,WiX也会抱怨:
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="..." />
<WixVariable Id="WixMbaPrereqPackageId" Value="..." />
其中我真的留在...
因为我不想让它继续工作。
In this thread,@ Sharhrhi问
有没有办法替换先决条件.Net安装UI,只需通知用户他们需要安装特定版本的.Net才能安装捆绑包?
Rob Mensching回复:
是的,现在可以。
......但他没有做好准备。现在可以如何?
谢谢!
===============
在我的Bundle的Bootstrap.Config中:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v6" /> <!-- Pretending it's the future! -->
</startup>
Bundle本身不引用任何.NET内容,也不引用WixNetFxExtension
并使用自定义<BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost" />
答案 0 :(得分:0)
要回答如何处理.Net 4.0 Framework的检查,请在项目中包含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"/>