具有多个EXTERNAL MSI文件的WiX BootStrapper

时间:2019-06-14 15:38:30

标签: wix bootstrapper

我有几个要执行的MSI文件:

<?xml version="1.0" encoding="UTF-8"?>

  <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
       >

  <Bundle Name="MySetup" Version="1.0.0.0" Manufacturer="minais"  IconSourceFile="Setup.ico" UpgradeCode="a383d9df-3db4-468c-81b9-cb3a566c7ae7">

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
      <bal:WixStandardBootstrapperApplication 
          LogoFile="Setup.png"
          ThemeFile="Res/MyCustomBootstrapperTheme.xml"
          LocalizationFile="Res/MyCustomBootstrapperTheme.wxl"
          LicenseFile="SetupInfo.rtf"/>
    </BootstrapperApplicationRef>

    <Chain>
      <ExePackage Id="NETFW35"
                  SourceFile="$(var.TargetDir)Microsoft .NET 3.5 SP1\dotnetfx35sp1.exe"
                  DisplayName=".NET Framework 3.5 SP1"
                  Vital="no"
                  InstallCondition="NOT netfx35" />
      <ExePackage Id="SQLSERVER2008"
                  SourceFile="$(var.TargetDir)SQLEXPRADV_x86_ENU\SQLEXPRADV_x86_ENU.exe"
                  DisplayName="SQL Server 2008"
                  Vital="no"
                  InstallCondition="NOT sqlserver2008"  />
      <MsiPackage Id="OWSDP"
                  SourceFile="$(var.TargetDir)Driver Package\DriverPackage.msi"
                  DisplayName="Driver Package"
                  Vital="no"
                  Visible="yes"/>
      <MsiPackage Id="OWSSC"
                  SourceFile="$(var.TargetDir)Service Console\Console.msi"
                  DisplayName="Service Console"
                  Vital="no"
                  Visible="yes"/>
    </Chain>

...

当我重建项目(VS 2017)时,我遇到了所有MSI文件都包含在生成的exe文件中的问题...我希望有一个很小的bootstrapper exe来调用所有其他msi文件。

我已经尝试过Compress =“ no”-但没有运气!?!

我该怎么做?

以下是日志文件中的行:

i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7df85149-2b7f-45d4-b8d8-3e5736e7973c}, options: 0x7, disable resume: No i000: Caching bundle from: 'C:\Users\leo\AppData\Local\Temp\{E4D5FC3D-CCBC-44D7-BECA-1A4314C52912}\.be\SetupOWS.exe' to: 'C:\ProgramData\Package Cache\{7df85149-2b7f-45d4-b8d8-3e5736e7973c}\SetupOWS.exe' i320: Registering bundle dependency provider: {7df85149-2b7f-45d4-b8d8-3e5736e7973c}, version: 1.0.0.0 i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7df85149-2b7f-45d4-b8d8-3e5736e7973c}, resume: Active, restart initiated: No, disable resume: No **w343: Prompt for source of package: SQLSERVER2008, payload: SQLSERVER2008, path: F:\Image_5_2_0\SQLEXPRADV_x86_ENU.exe e054: Failed to resolve source for file: F:\Image_5_2_0\SQLEXPRADV_x86_ENU.exe, error: 0x80070642.** e000: Error 0x80070642: Failed while prompting for source (original path 'F:\Image_5_2_0\SQLEXPRADV_x86_ENU.exe'). e313: Failed to acquire payload: SQLSERVER2008 to working path: C:\Users\leo\AppData\Local\Temp\{E4D5FC3D-CCBC-44D7-BECA-1A4314C52912}\SQLSERVER2008, error: 0x80070642. w350: Applied non-vital package: SQLSERVER2008, encountered error: 0x80070642. Continuing...

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

Compressed='no'元素上设置Bundle属性。