使用WIX Bootstrapper将两个MSI合并为一个

时间:2013-10-18 13:27:53

标签: visual-studio-2010 wix bootstrapper

在我的应用程序中有2个msi安装程序。一个是供应商提供的,无法修改,另一个是我使用VS2010设置和部署生成的MSI文件。

我使用WIX Bootstrapper将这两者合二为一,当我构建这个应用程序时,它提供了两个MSI和一个Bootstrapper exe,显然当我点击Bootstrapper exe它以顺序方式安装其他两个MSI时,问题是我只想给这个单一的Bootstrapper exe给客户,但它还需要其他两个MSI ,有没有其他方法可以做到这一点?请找到下面的代码..

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
    <Bundle Name="SoftWritersInstaller_Package" Version="1.0.0.0" Manufacturer="Microsoft" UpgradeCode="86431df1-94cc-433a-9885-af19bca9b5d3">
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />


    <Chain >
      <!-- TODO: Define the list of chained packages. -->
      <!-- <MsiPackage SourceFile="path\to\your.msi" /> -->
      <PackageGroupRef Id="Netfx4Full"/>
      <MsiPackage Id="F_VB_AGENT" SourceFile=".\VBandMsi\Framewrk with Agent.msi" Compressed="no" EnableFeatureSelection="yes" DisplayInternalUI="yes" ></MsiPackage>
      <MsiPackage Id="FVBAgent.Net" SourceFile=".\VBandMsi\.FDotNet.Setup.msi" Compressed="no" EnableFeatureSelection="yes" DisplayInternalUI="yes"   />
    </Chain>
  </Bundle>

  <Fragment>
    <!-- Check for .NET 4.0 -->
    <util:RegistrySearch Root="HKLM"
                         Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                         Value="Version"
                         Variable="Netfx4FullVersion" />
    <util:RegistrySearch Root="HKLM"
                         Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                         Value="Version"
                         Variable="Netfx4x64FullVersion"
                         Win64="yes"
                           />
    <PackageGroup Id="Netfx4Full">
      <ExePackage Id="Netfx4Full"
                  DisplayName="Microsoft .NET Framework 4.0"
                  Compressed="yes"
                  Cache="yes"
                  PerMachine="yes"
                  Permanent="yes"
                  Protocol="netfx4"
                  Vital="yes"
                  SourceFile=".\dotNetFx40_Full_x86_x64.exe"
                  InstallCommand="/passive /norestart"
                  DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x64FullVersion)" />
    </PackageGroup>
  </Fragment>
</Wix>

0 个答案:

没有答案