我有几个要执行的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...
感谢您的帮助!
答案 0 :(得分:1)
在Compressed='no'
元素上设置Bundle
属性。