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

Mike Franchitti mfranchitti at redshift-tech.com
Wed Mar 20 10:28:47 PDT 2019


Sorry Edwin, but do you know of a way to control the rollback? Ideally, I
would only want it to rollback the failing installer.

On Wed, Mar 20, 2019 at 1:28 PM Mike Franchitti <
mfranchitti at redshift-tech.com> wrote:

> Really appreciate your help with this Edwin!
>
> I will look into the ExitCode elements you mentioned and see if I can get
> CDM to go through as a success. I just verified that it did install
> successfully on target machine despite returning exit code 0x1.
>
> On Wed, Mar 20, 2019 at 1:23 PM Edwin Castro <egcastr at gmail.com> wrote:
>
>> 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