1

我继承了一个使用 Wix 3.0 的安装项目。出于编程原因,我们必须切换到 VS2012,因此也必须切换到 Wix 3.7。

在阅读有关 Wix 3.7 的信息时,我发现 3.7 提供项目类型“Setup project”和项目类型“Bootstrapper project”。

我的第一个问题是:我是否像以前一样制作一个安装项目和一个引导程序项目并将其组合起来,或者只是一个引导程序项目。

使用 Wix 3.0,引导程序的东西位于 wixproj 文件中:

<ItemGroup>
  <BootstrapperFile Include="Microsoft.Net.Framework.3.5.SP1">
    <ProductName>Microsoft .NET Framework 3.5 SP1</ProductName>
  </BootstrapperFile>
  <BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
    <ProductName>Windows Installer 3.1</ProductName>
  </BootstrapperFile>
</ItemGroup>

<Target Name="AfterBuild">
  <GenerateBootstrapper Condition=" '$(Platform)' == 'x86' " ApplicationName="$(ProductName)" BootstrapperItems="@(BootstrapperFile)" ComponentsLocation="HomeSite" CopyComponents="True" OutputPath="$(TargetDir)%(CultureGroup.OutputFolder)" Culture="%(CultureGroup.Identity)" FallbackCulture="en-us" Path="$(WindowsSDKPath)" />
  <GenerateBootstrapper Condition=" '$(Platform)' == 'x64' " ApplicationName="$(ProductName) (x64)" BootstrapperItems="@(BootstrapperFile)" ComponentsLocation="HomeSite" CopyComponents="True" OutputPath="$(TargetDir)%(CultureGroup.OutputFolder)" Culture="%(CultureGroup.Identity)" FallbackCulture="en-us" Path="$(WindowsSDKPath)" />
</Target>

这还有可能吗?在这里我必须从 .Net 3.5SP1 更改为 .Net 4.5

有人可以帮助我吗?

4

1 回答 1

2

首先,您可以只使用 WiX Toolset 3.7 并在您的 WiX 文件上运行 wixcop 来升级它们。


如果您想使用新的 WiX 引导程序...

您需要两种项目类型。“安装”项目会创建一个 .msi 文件。“Bootstrapper”项目会创建一个 .exe 文件。

从安装项目中删除 Visual Studio Bootstrapper 项和 GenerateBootstrapper 任务。在引导程序的链中创建相应的 ExePackage 或 PackageGroupRef 元素。PackageGroup 大致对应于 Visual Studio Bootstrapper 包,但“语法”不同。要重新创建 Visual Studio Bootstrapper 包,请参阅下面的文件C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\Bootstrapper\Packages或等效文件。

对于 Microsoft .NET 框架,WixNetfxExtension 扩展定义了您可以引用的包组。

于 2013-06-14T16:17:16.397 回答