我继承了一个使用Wix 3.0的安装项目 出于编程原因,我们必须切换到VS2012,因此也必须切换到Wix 3.7。
在阅读Wix 3.7时,我发现3.7提供项目类型“安装项目” 和项目类型“Bootstrapper项目”。
我的第一个问题是:我是否像以前一样创建一个安装项目和一个bootstrapper项目并将它组合起来或者只是一个bootstrapper项目。
使用Wix 3.0,bootstrapper的东西位于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
有人能帮助我吗?
答案 0 :(得分:2)
首先,您只需使用WiX Toolset 3.7并在WiX文件上运行wixcop进行升级即可升级。
如果您想使用新的WiX引导程序......
您需要两种项目类型。 “安装”项目创建.msi文件。 “Bootstrapper”项目会创建一个.exe文件。
从安装项目中删除Visual Studio Bootstrapper项和GenerateBootstrapper任务。在bootstrapper的Chain中创建相应的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扩展定义了只能reference的包组。