0

我正在使用 Visual Studio 2010 创建一个 WiX 项目。我想为我的软件安装 .net 3.5,为 WiX 安装 .net 4.0。我使用了 VS2010 提供的引导程序。它适用于 4.0 版本,但我对 3.5 版本有问题。以下是我的代码中的一些行:

<BootstrapperFile Include=".NETFramework,Version=v4.0" >
  <ProductName>.NET Framework 4.0</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >
  <ProductName>.NET Framework 3.5 SP1</ProductName>
</BootstrapperFile>

<GenerateBootstrapper ApplicationFile="$(TargetFileName)"
                  ApplicationName="My Application Name"
                  BootstrapperItems="@(BootstrapperFile)"
                  ComponentsLocation="Relative"
                  CopyComponents="True"
                  OutputPath="$(OutputPath)"
                  Path="C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"/>

首先我有错误:

先决条件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上找到项目“Microsoft.Net.Framework.3.5.SP1”中的文件“dotNetFx35setup.exe”。

我按照此处的说明进行操作:

http://sebastienlachance.com/blog/the-install-location-for-prerequisites-has-not-been-set-to-component-vendors-web-site-and-the-file-dotnetfx35setupexe-in-item- microsoftnetframework35sp1-不能在磁盘上定位

但现在我有一个新警告:

项目“Microsoft.Net.Framework.3.5.SP1”无法位于“C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\”中。

我不明白会发生什么。我搜索了很多并查看了类似的问题,但没有找到任何准确的答案......有人有解决方案,还是有另一种方法可以在 VS2010 上使用 WiX 安装先决条件?

谢谢 !

4

2 回答 2

0

在 64 位系统上,XML 元素的Path属性值GenerateBootstrapper应以C:\Program Files (x86)\. 你错过了这个(x86)部分。

win您可以通过点击+pause并检查“系统类型”来检查操作系统的位数。

于 2012-04-24T16:02:46.030 回答
0

您已将路径设置为

Path="C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\"

它可能需要

Path="C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages"

导航到该路径并确保引导程序包确实存在。具体来说,您应该有一个名为DotNetFX35SP1的文件夹,其中应该是一个Product.xml文件,该文件具有与您的引导程序包含项匹配的相同产品代码元素。所以...

<BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1" >

应该匹配

ProductCode="Microsoft.Net.Framework.3.5.SP1"
于 2012-04-25T14:30:48.507 回答