错误 0x800705b4:无法等待子项连接到管道。 WiX 引导程序应用程序

Error 0x800705b4: Failed to wait for child to connect to pipe. WiX Bootstrapper Application

我想构建一个 setup.exe,根据某些条件部署 vc_redist.exe。还有一些自己的节目。

我正在使用 VS 2008 和 WiX 工具集 v3.8.1128.0

当我启动 setup.exe 并包含一个 vc_redist.exe 版本 <= 10 时,我得到

Error 0x800705b4: Failed to wait for child to connect to pipe

当我使用 vc_redist 版本 > 10 时,它工作正常。

我以管理员身份开始设置。 当然输出类型是.exe

<Chain>
      <PackageGroupRef Id="redist_vc"/>
      <MsiPackage Id="MainPackage" SourceFile="$(var.IPS1-LeitstandMSI.TargetPath)" Vital="yes"/>
    </Chain>

<Fragment>
    <util:FileSearch Id="MFC_Version_x86"
                 Variable="MFC_Version_x86" Path="[SystemFolder]mfc90.dll"
                 Result="version"/>

    <PackageGroup Id="redist_vc">
      <ExePackage Id="vc" Cache="yes" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="yes"
                    SourceFile="[Sourcepath]\vcredist_x86.exe"
                  InstallCommand="/quiet /norestart"
                  InstallCondition="(NOT MFC_Version_x86 >= v9.0.30729.5570) OR NOT MFC_Version_x86" 
                  Protocol="burn"
                  />
    </PackageGroup>
  </Fragment>

我真的不知道。

==============

我已经删除了 Protocol 属性。现在我有一条奇特的新错误消息:

[0E70:0BF0][2015-05-13T09:29:32]i301: Applying execute package: vc, action: Install, path: C:\ProgramData\Package Cache72BA9FCFD3257B3B24CAE1B2658927B45E4789\vcredist_x86.exe, arguments: '"C:\ProgramData\Package Cache72BA9FCFD3257B3B24CAE1B2658927B45E4789\vcredist_x86.exe" /quiet /norestart'
[0E70:0BF0][2015-05-13T09:29:36]e000: Error 0x80071000: Process returned error: 0x1000
[0E70:0BF0][2015-05-13T09:29:36]e000: Error 0x80071000: Failed to execute EXE package.
[0D1C:0D14][2015-05-13T09:29:36]e000: Error 0x80071000: Failed to configure per-machine EXE package.
[0D1C:0D14][2015-05-13T09:29:36]i319: Applied execute package: vc, result: 0x80071000, restart: None

[0D1C:0D14][2015-05-13T09:29:36]e000:错误 0x80071000:执行 EXE 包失败。

这是完整的日志:

[0D1C:0D14][2015-05-13T09:28:27]i001: Burn v3.8.1128.0, Windows v6.1 (Build 7601: Service Pack 1), path: C:\Users\Administrator\Desktop\IPS1-LeitstandSetup.exe, cmdline: '-burn.unelevated BurnPipe.{83D9C8F1-2FDC-4A81-B91D-3BD6A236399C} {33F07FAA-7ABB-47C5-AD8A-F7A27F90D45C} 3696'
[0D1C:0D14][2015-05-13T09:28:28]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\ADMINI~1\AppData\Local\Temp\IPS1-Leitstand_20150513092828.log'
[0D1C:0D14][2015-05-13T09:28:28]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\Users\Administrator\Desktop\IPS1-LeitstandSetup.exe'
[0D1C:0D14][2015-05-13T09:28:28]i000: Setting string variable 'WixBundleName' to value 'IPS1-Leitstand'
[0D1C:0D14][2015-05-13T09:28:31]i100: Detect begin, 2 packages
[0D1C:0D14][2015-05-13T09:28:31]i000: File search: MFC_Version_x86, did not find path: C:\Windows\system32\mfc90.dll
[0D1C:0D14][2015-05-13T09:28:31]i101: Detected package: vc, state: Absent, cached: None
[0D1C:0D14][2015-05-13T09:28:31]i101: Detected package: MainPackage, state: Absent, cached: None
[0D1C:0D14][2015-05-13T09:28:31]i199: Detect complete, result: 0x0
[0D1C:0E68][2015-05-13T09:28:52]i000: Setting numeric variable 'EulaAcceptCheckbox' to value 0
[0D1C:0D14][2015-05-13T09:28:52]i200: Plan begin, 2 packages, action: Install
[0D1C:0D14][2015-05-13T09:28:52]i052: Condition '(NOT MFC_Version_x86 >= v9.0.30729.5570) OR NOT MFC_Version_x86' evaluates to true.
[0D1C:0D14][2015-05-13T09:28:52]w321: Skipping dependency registration on package with no dependency providers: vc
[0D1C:0D14][2015-05-13T09:28:52]i000: Setting string variable 'WixBundleLog_vc' to value 'C:\Users\ADMINI~1\AppData\Local\Temp\IPS1-Leitstand_20150513092828_0_vc.log'
[0D1C:0D14][2015-05-13T09:28:52]i000: Setting string variable 'WixBundleRollbackLog_MainPackage' to value 'C:\Users\ADMINI~1\AppData\Local\Temp\IPS1-Leitstand_20150513092828_1_MainPackage_rollback.log'
[0D1C:0D14][2015-05-13T09:28:52]i000: Setting string variable 'WixBundleLog_MainPackage' to value 'C:\Users\ADMINI~1\AppData\Local\Temp\IPS1-Leitstand_20150513092828_1_MainPackage.log'
[0D1C:0D14][2015-05-13T09:28:52]i201: Planned package: vc, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None
[0D1C:0D14][2015-05-13T09:28:52]i201: Planned package: MainPackage, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: Uninstall, cache: Yes, uncache: No, dependency: Register
[0D1C:0D14][2015-05-13T09:28:52]i299: Plan complete, result: 0x0
[0D1C:0D14][2015-05-13T09:28:52]i300: Apply begin
[0E70:0BF0][2015-05-13T09:28:58]i360: Creating a system restore point.
[0E70:0BF0][2015-05-13T09:29:29]i361: Created a system restore point.
[0E70:0BF0][2015-05-13T09:29:29]i000: Caching bundle from: 'C:\Users\ADMINI~1\AppData\Local\Temp\{4003323a-92b7-4f1a-aa09-7b1a8bbf90da}\.be\IPS1-LeitstandSetup.exe' to: 'C:\ProgramData\Package Cache\{4003323a-92b7-4f1a-aa09-7b1a8bbf90da}\IPS1-LeitstandSetup.exe'
[0E70:0BF0][2015-05-13T09:29:30]i320: Registering bundle dependency provider: {4003323a-92b7-4f1a-aa09-7b1a8bbf90da}, version: 1.0.0.0
[0E70:0E7C][2015-05-13T09:29:32]i305: Verified acquired payload: vc at path: C:\ProgramData\Package Cache\.unverified\vc, moving to: C:\ProgramData\Package Cache72BA9FCFD3257B3B24CAE1B2658927B45E4789\vcredist_x86.exe.
[0E70:0E7C][2015-05-13T09:29:32]i305: Verified acquired payload: MainPackage at path: C:\ProgramData\Package Cache\.unverified\MainPackage, moving to: C:\ProgramData\Package Cache\{9F90D333-94E4-4315-8A5E-72BE76E3AFE9}v1.0.0.0\IPS1-LeitstandMSI.msi.
[0E70:0BF0][2015-05-13T09:29:32]i301: Applying execute package: vc, action: Install, path: C:\ProgramData\Package Cache72BA9FCFD3257B3B24CAE1B2658927B45E4789\vcredist_x86.exe, arguments: '"C:\ProgramData\Package Cache72BA9FCFD3257B3B24CAE1B2658927B45E4789\vcredist_x86.exe" /quiet /norestart'
[0E70:0BF0][2015-05-13T09:29:36]e000: Error 0x80071000: Process returned error: 0x1000
[0E70:0BF0][2015-05-13T09:29:36]e000: Error 0x80071000: Failed to execute EXE package.
[0D1C:0D14][2015-05-13T09:29:36]e000: Error 0x80071000: Failed to configure per-machine EXE package.
[0D1C:0D14][2015-05-13T09:29:36]i319: Applied execute package: vc, result: 0x80071000, restart: None
[0D1C:0D14][2015-05-13T09:29:36]e000: Error 0x80071000: Failed to execute EXE package.
[0E70:0BF0][2015-05-13T09:29:36]i351: Removing cached package: vc, from path: C:\ProgramData\Package Cache72BA9FCFD3257B3B24CAE1B2658927B45E4789\
[0E70:0BF0][2015-05-13T09:29:36]i330: Removed bundle dependency provider: {4003323a-92b7-4f1a-aa09-7b1a8bbf90da}
[0E70:0BF0][2015-05-13T09:29:36]i352: Removing cached bundle: {4003323a-92b7-4f1a-aa09-7b1a8bbf90da}, from path: C:\ProgramData\Package Cache\{4003323a-92b7-4f1a-aa09-7b1a8bbf90da}\
[0D1C:0D14][2015-05-13T09:29:36]i399: Apply complete, result: 0x80071000, restart: None, ba requested restart:  No

Protocol=Burn 是错误的,这仅适用于其他捆绑包。只需删除 Protocol 属性。

我自己找到了解决方案。

vc_redist.exe 对于 VC 2008 或更早版本不能使用 /quiet 参数。使用 /qb 一切正常:)