WiX 3.8 Burn failed to elevate package installer

2019-09-02 03:18发布

问题:

I am making a package installer and am followin the KISS principle. No bundle made in WiX 3.6-3.8 works on Windows XP (but works as expected in Windows 7). The cause is elevation error 0x800705b4.

[14DC:15A8][2014-02-12T11:54:46]e000: Error 0x800705b4: Failed to wait for child to connect to pipe.
[14DC:15A8][2014-02-12T11:54:46]e000: Error 0x800705b4: Failed to connect to elevated child process.
[14DC:15A8][2014-02-12T11:54:46]e000: Error 0x800705b4: Failed to actually elevate.
[14DC:15A8][2014-02-12T11:54:46]e000: Error 0x800705b4: Failed to elevate.

I've prepared a much simpler example mostly following instructions from the WiX manual:

<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">

    <Bundle Version="1.0" Manufacturer="Man" UpgradeCode="6E06DEA1-6FF1-4E29-B3DC-A846DD804BF9">
            <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
        <Chain>
            <MsiPackage Id="testmsi" Vital="yes" SourceFile="D:\Documents and Settings\Administrator\Desktop\mysql-connector-net-6.8.3.msi" />
        </Chain>
    </Bundle>
</Wix>

回答1:

I was fighting with this issue for days. The only solution I came up with was to create an EXE file instead of MSI file:

candle Bundle.wxs -dTargetFileName=Bundle.exe  -dTargetExt=.exe

light Bundle.wixobj -out Bundle.exe

It is easier to do in Visual Studio with the WiX Toolset installed. There be sure to open up the setup project's properties, and select an EXE file output.

I hope it helps, cheers :)