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

Adnan Shaheen shaheen4qau at gmail.com
Wed Mar 20 17:21:19 PDT 2019


Is it trying to execute the chain multiple times for 32bit bundle or 64bit,
or both?

Regards:
Adnan Shaheen.


On Wed, 20 Mar 2019 at 16:40, Edwin Castro via wix-users <
wix-users at lists.wixtoolset.org> wrote:

> Info on RollbackBoundary:
>
> http://wixtoolset.org/documentation/manual/v3/xsd/wix/rollbackboundary.html
>
> http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/What-is-a-rollback-boundary-td7579098.html
>
> There's Bootstrapping tutorial on the FireGiant website but it doesn't
> really explain how RollbackBoundary works. ;-)
>
> https://www.firegiant.com/wix/tutorial/net-and-net/bootstrapping/
>
> I also see that Chain has a DisableRollback attribute.
>
> http://wixtoolset.org/documentation/manual/v3/xsd/wix/chain.html
>
> I'd use Chain/@DisableRollback with caution.
>
> --
> Edwin G. Castro
>
>
> On Wed, Mar 20, 2019 at 10:58 AM Rob Mensching <rob at firegiant.com> wrote:
>
> > Maybe RollbackBoundary?
> >
> > _____________________________________________________________
> >  Short replies here. Complete answers over there:
> > http://www.firegiant.com/
> >
> >
> > -----Original Message-----
> > From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of
> > Edwin Castro via wix-users
> > Sent: Wednesday, March 20, 2019 10:36 AM
> > To: Mike Franchitti <mfranchitti at redshift-tech.com>
> > Cc: Edwin Castro <egcastr at gmail.com>; WiX Toolset Users Mailing List <
> > wix-users at lists.wixtoolset.org>
> > Subject: Re: [wix-users] Need some help fixing this Burn script...
> >
> > Setting Permanent="yes" on the ExePackage and MsiPackage elements will
> > disallow uninstallation of those packages. That means the bundle will
> never
> > uninstall the packages which is probably not what you want.
> >
> > I expect you could decide what to do for rollback on a package by package
> > basis if you write a custom bootstrapper application but somebody with
> more
> > experience will need to confirm that as I've never written a custom
> > bootstrapper application.
> >
> > --
> > Edwin G. Castro
> >
> >
> > On Wed, Mar 20, 2019 at 10:28 AM Mike Franchitti <
> > mfranchitti at redshift-tech.com> wrote:
> >
> > > 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/
> > >>>>>>>>
> > >>>>>>>>
> >
> > ____________________________________________________________________
> > WiX Toolset Users Mailing List provided by FireGiant
> > http://www.firegiant.com/
> >
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>



More information about the wix-users mailing list