[wix-users] Need some help fixing this Burn script...

Edwin Castro egcastr at gmail.com
Wed Mar 20 10:21:40 PDT 2019


The SerialPortDriver package, installed with CDM21228_Setup.exe, is
returning exit code 0x1 which is interpreted by the bundle as a failure.

[1594:1F7C][2019-03-20T12:52:25]i301: Applying execute package:
SerialPortDriver, action: Install, path: C:\ProgramData\Package
Cache\C44678C7459798C800332273C74049CEA204A604\CDM21228_Setup.exe,
arguments: '"C:\ProgramData\Package
Cache\C44678C7459798C800332273C74049CEA204A604\CDM21228_Setup.exe"'
[1594:1F7C][2019-03-20T12:52:32]e000: Error 0x80070001: Process returned
error: 0x1
[1594:1F7C][2019-03-20T12:52:32]e000: Error 0x80070001: Failed to execute
EXE package.
[2D28:35C0][2019-03-20T12:52:32]e000: Error 0x80070001: Failed to configure
per-machine EXE package.
[2D28:35C0][2019-03-20T12:52:32]i319: Applied execute package:
SerialPortDriver, result: 0x80070001, restart: None
[2D28:35C0][2019-03-20T12:52:32]e000: Error 0x80070001: Failed to execute
EXE package.

As a result, the bundle rolls back the other packages. The bundle will run
the uninstall command to roll back packages.

NOTE: The bundle expects the failing package to roll itself back!

First, you see the Sparkwave package roll back:

[2D28:35C0][2019-03-20T12:52:32]i301: Applying rollback package: Sparkwave,
action: Uninstall, path: (null), arguments: ' ARPSYSTEMCOMPONENT="1"
MSIFASTINSTALL="7"'
[2D28:35C0][2019-03-20T12:52:35]i319: Applied rollback package: Sparkwave,
result: 0x0, restart: None

Followed by the Consensys package:

[1594:1F7C][2019-03-20T12:52:35]i301: Applying rollback package: Consensys,
action: Uninstall, path: C:\ProgramData\Package
Cache\4F3679442D5925D31D0BDCD863D5E799EB848D2C\Setup.exe, arguments:
'"C:\ProgramData\Package
Cache\4F3679442D5925D31D0BDCD863D5E799EB848D2C\Setup.exe"'
[2D28:35C0][2019-03-20T12:53:13]i319: Applied rollback package: Consensys,
result: 0x0, restart: None

Then the GazepointControl package which fails to uninstall as it returns
exit code 0x2:

[1594:1F7C][2019-03-20T12:53:13]i301: Applying rollback package:
GazepointControl, action: Uninstall, path: C:\ProgramData\Package
Cache\15368F3BCEDE2502575E7F5D620AC74A6BE4CBC3\Gazepoint_5.3.0.exe,
arguments: '"C:\ProgramData\Package
Cache\15368F3BCEDE2502575E7F5D620AC74A6BE4CBC3\Gazepoint_5.3.0.exe"'
[1594:1F7C][2019-03-20T12:53:19]e000: Error 0x80070002: Process returned
error: 0x2
[1594:1F7C][2019-03-20T12:53:19]e000: Error 0x80070002: Failed to execute
EXE package.
[2D28:35C0][2019-03-20T12:53:19]e000: Error 0x80070002: Failed to configure
per-machine EXE package.
[2D28:35C0][2019-03-20T12:53:19]i319: Applied rollback package:
GazepointControl, result: 0x80070002, restart: None

NOTE: The arguments used to uninstall the ExePackages are identical to the
install arguments! You'll want to set UninstallCommand on those ExePackages
to tell the bundle how to correctly uninstall them.

The bundle knows how to uninstall MsiPackages so you don't have to tell it
how to do that.

You'll still need to troubleshoot why CDM21228_Setup.exe is returning exit
code 0x1. If that is a success exit code, then you'll want to add an
ExitCode elements under your ExePackage element to tell the bundle to treat
it as a success. You could add more ExitCode elements to handle other
possible exit codes.

http://wixtoolset.org/documentation/manual/v3/xsd/wix/exitcode.html

I assume Gazepoint_5.3.0.exe returned exit code 0x2 during rollback because
it was already installed but you'll want to check that as well.

To summarize, your packages are running twice because the bundle thinks the
last one failed and when it tried to uninstall the previous packages it ran
the install command because it didn't have a proper uninstall command.

--
Edwin G. Castro


On Wed, Mar 20, 2019 at 10:00 AM Mike Franchitti <
mfranchitti at redshift-tech.com> wrote:

> Here you go.
>
>
> On Wed, Mar 20, 2019 at 11:56 AM Edwin Castro <egcastr at gmail.com> wrote:
>
>> Can you share logs?
>>
>> --
>> Edwin G. Castro
>>
>>
>> On Wed, Mar 20, 2019 at 8:15 AM Mike Franchitti <
>> mfranchitti at redshift-tech.com> wrote:
>>
>>> Edwin,
>>>
>>> Thanks a lot - I am now using the DetectCondition & InstallCondition
>>> properly.
>>>
>>> My script is still trying to execute installers in the chain multiple
>>> times. To be specific - it asks me to install Gazepoint, Consensys, etc...
>>> two times during a single run of the burn installer...
>>>
>>>
>>>
>>> On Wed, Mar 20, 2019 at 10:43 AM Edwin Castro <egcastr at gmail.com> wrote:
>>>
>>>> Logs are very helpful in determining what the bundle is doing. Here are
>>>> some general comments instead...
>>>>
>>>> I think you use DetectCondition to determine if a package is installed.
>>>>
>>>> I think you use InstallCondition to decide whether to install a package
>>>> that is not installed.
>>>>
>>>> For example, I use DetectCondition to determine if an ExePackage is
>>>> already installed *but* I use InstallCondition to install the 32-bit
>>>> package on a 32-bit OS and the 64-bit package on a 64-bit OS.
>>>>
>>>> MsiPackage can already determine if an MSI is already is installed so
>>>> you probably do not need the RegistrySearch for it. I use InstallCondition
>>>> with MsiPackage to install the 32-bit package on a 32-bit OS and the
>>>> 64-bit package on a 64-bit OS.
>>>>
>>>> --
>>>> Edwin G. Castro
>>>>
>>>>
>>>>
>>>> On Wed, Mar 20, 2019, 06:49 Mike Franchitti via wix-users <
>>>> wix-users at lists.wixtoolset.org> wrote:
>>>>
>>>>> The following script is not working correctly, and I am not sure how to
>>>>> proceed - if someone could take a look and provide some feedback I'd
>>>>> appreciate it...
>>>>>
>>>>> My target is to get this working on Windows 10.
>>>>>
>>>>> Here are the problems I've seen so far:
>>>>>
>>>>>    - The generated .exe tries to run some of the installers listed in
>>>>> the
>>>>>    chain multiple times.
>>>>>    - The Sparkwave installer (which works on it's own) fails to run if
>>>>> it's
>>>>>    placed AFTER the CDM installer with errors related to verifying
>>>>> it's hash.
>>>>>    (If I place the Sparkwave installer BEFORE the CDM installer in the
>>>>> chain
>>>>>    it works correctly)...
>>>>>    - The CDM installer appears to run all the way through, but upon
>>>>> click
>>>>>    the final "finish" button in that installer the Burn script fails
>>>>>    with Error 0x80070001. I think this is related to it's attempt to
>>>>> run the
>>>>>    same installers multiple times...
>>>>>
>>>>> Here is my script:
>>>>>
>>>>> <?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="Bootstrap" Version="1.0.0.0" Manufacturer="Bootstrap"
>>>>> UpgradeCode="537641ca-e876-4bcb-8d57-c6cdc8940c84">
>>>>>     <BootstrapperApplicationRef
>>>>> Id="WixStandardBootstrapperApplication.RtfLicense" />
>>>>>
>>>>>     <util:FileSearch
>>>>>       Id="SearchForGazepoint"
>>>>>       Path="[ProgramFilesFolder]Gazepoint\Gazepoint\bin\Gazepoint.exe"
>>>>>       Variable="GazepointFound"
>>>>>       Result="exists" />
>>>>>
>>>>>     <util:FileSearch
>>>>>       Id="SearchForConsensys"
>>>>>
>>>>>
>>>>> Path="[ProgramFilesFolder]Shimmer\ConsensysPRO\Consensys_v1.5.0\Consensys.exe"
>>>>>       Variable="ConsensysFound"
>>>>>       Result="exists" />
>>>>>
>>>>>     <util:RegistrySearch
>>>>>       Id="SearchForFTDI"
>>>>>       Root="HKLM"
>>>>>       Key="SYSTEM\CurrentControlSet\Enum\FTDIBUS"
>>>>>       Result="exists"
>>>>>       Variable="FTDIFound"/>
>>>>>
>>>>>     <util:RegistrySearch
>>>>>       Id="SearchForSparkwave"
>>>>>       Root="HKCU"
>>>>>       Key="Software\Spark Neuro\Sparkwave"
>>>>>       Result="exists"
>>>>>       Variable="SparkwaveFound"/>
>>>>>
>>>>>     <Chain>
>>>>>       <PackageGroupRef Id="NetFx472Redist"/>
>>>>>       <ExePackage Id='GazepointControl'
>>>>> SourceFile="../../ExternalSoftware/Gazepoint_5.3.0.exe" Vital='yes'
>>>>> PerMachine='yes' InstallCondition='NOT GazepointFound'/>
>>>>>       <ExePackage Id='Consensys'
>>>>> SourceFile="../../ExternalSoftware/Setup.exe" Vital='yes'
>>>>> PerMachine='yes'
>>>>> InstallCondition='NOT ConsensysFound'/>
>>>>>       <MsiPackage Id='Sparkwave' SourceFile='Sparkwave.msi' Vital='yes'
>>>>> InstallCondition='NOT SparkwaveFound' Visible='yes'
>>>>> DisplayInternalUI='yes'></MsiPackage>
>>>>>       <ExePackage Id='SerialPortDriver'
>>>>> SourceFile="../../ExternalSoftware/CDM21228_Setup.exe" Vital='yes'
>>>>> PerMachine='yes' InstallCondition='NOT FTDIFound'/>
>>>>>     </Chain>
>>>>>   </Bundle>
>>>>> </Wix>
>>>>>
>>>>> ____________________________________________________________________
>>>>> WiX Toolset Users Mailing List provided by FireGiant
>>>>> http://www.firegiant.com/
>>>>>
>>>>>



More information about the wix-users mailing list