WixBA未显示任何安装的.NET Framework

时间:2014-02-24 11:49:56

标签: c# wix bootstrapper burn

实验上,我只是从WiX 3.7源代码复制了WixBA项目,将core.csproj中的引用替换为BootstrapperCore,并试图将它与我自己的Bundle一起使用,这对我自己的Manged Bootstrapper工作正常。它建好了。但奇怪的是,当我试图运行它时,它向我展示了安装.NET框架的对话框。我已经安装了.NET framework 4.5。我甚至尝试将WixBA的Targetframework更改为4.5,但结果却相同。

为什么会这样?是否使用了任何安全技术,以便没有其他Bundle可以使用它? 如果是,那么解释是什么?

1 个答案:

答案 0 :(得分:1)

.NET安装程序对话框基于随安装程序捆绑的.NET安装程序的版本。查看您的Bundle.wxs文件,然后在Chain标记中查找其中一个WiX-provided Package groups。它可能看起来像这样:

<PackageGroupRef Id="NetFx45Web"/>

即使你已经安装了.NET 4.5,它还有很多可能会提示你:

1)PackageGroupRef适用于不同版本的.NET(例如v4.0),而不是您安装的版本。 2)您安装的版本是.NET的“客户端”版本,而不是安装程序使用的“完整”版本。

您还需要确保PackageGroupRef的版本与托管引导程序项目的supportedRuntime文件中的BootstrapperCore.config条目以及supportedFramework中的wix.bootstrapper条目匹配。 {1}}标记:

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" />
</startup>

<wix.bootstrapper>
  <host assemblyName="MyInstallerUI">
    <supportedFramework version="v4\Full" />
  </host>
</wix.bootstrapper>
相关问题