[wix-devs] WIXBUG5750 and RollbackBoundary

Bob Arnson bob at firegiant.com
Mon Jan 22 15:17:16 PST 2018


My vote: Cache should be tied to registration, so "registered in ARP == cached as originally requested." Just because a package failed to install shouldn't eject it from the cache, if the bundle is still registered (so the user can try again without another download).

As I recall (and I don't entirely trust my recollection as I wasn't physically present or deeply involved at the time), package vitality and rollback boundaries were to prevent a transient or simple failure from triggering a painful (in time consumed) rollback and reinstall. IOW, keep as much on the machine as possible so the user could retry.

-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Hoover, Jacob via wix-devs
Sent: Monday, 22 January, 2018 17:34
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Hoover, Jacob <Jacob.Hoover at greenheck.com>
Subject: Re: [wix-devs] WIXBUG5750 and RollbackBoundary

Also, what would the expected state of the cache be under this condition:

<Chain DisableRollback="Yes">
  <MsiPackage SourceFile="A.msi" />
  <MsiPackage SourceFile="Fail.msi" />
  <MsiPackage SourceFile="B.msi" />
</Chain>

Should B still be cached?

-----Original Message-----
From: wix-devs [mailto:wix-devs-bounces at lists.wixtoolset.org] On Behalf Of Hoover, Jacob via wix-devs
Sent: Monday, January 22, 2018 4:06 PM
To: WiX Toolset Developer Mailing List <wix-devs at lists.wixtoolset.org>
Cc: Hoover, Jacob <Jacob.Hoover at greenheck.com>
Subject: [wix-devs] WIXBUG5750 and RollbackBoundary

With regards to a rollback boundary, what is the expected behavior of Burn when a package is authored with or without explicit rollback boundaries, and an error happens during apply execute?

Chain/@DisableRollback - The default is "no" which indicates all packages executed during the chain will be rolledback to their previous state when a vital package fails. If "yes" is specified then when a vital package fails to install only that package will rollback and the chain will stop with the error.

RollbackBoundary/@Vital - Specifies whether the rollback boundary aborts the chain. The default "yes" indicates that if the rollback boundary is encountered then the chain will fail and rollback or stop.

<Chain DisableRollback="Yes">
  <MsiPackage SourceFile="A.msi" />
  <RollbackBoundary Vital="No"/>
  <MsiPackage SourceFile="Fail.msi" />
</Chain>
In this example, my impression is that because the failure happened on a vital package in a non-vital rollback boundary, that the bundle would be considered installed and that Fail MSI would have its package cache cleared.

<Chain DisableRollback="Yes">
  <MsiPackage SourceFile="A.msi" />
 <MsiPackage SourceFile="Fail.msi" />
</Chain>
In this example, I am expecting the A MSI to remain, and the Fail MSI to just have its cache cleared.

<Chain>
  <MsiPackage SourceFile="A.msi" />
 <MsiPackage SourceFile="Fail.msi" />
</Chain>
                In this example, I would expect both MSI's to be removed, and their caches purged.

<Chain>
  <MsiPackage SourceFile="A.msi" />
  <RollbackBoundary/>
  <MsiPackage SourceFile="Fail.msi" />
</Chain>
                In this example, is this RollbackBoundary ignored because it has the same attributes as the default boundary? Meaning if this chain was installing, a failure would cause A to be uninstalled, and both to have their caches cleared?

<Chain>
  <RollbackBoundary Vital="No"/>
  <MsiPackage SourceFile="A.msi" />
  <MsiPackage SourceFile="Fail.msi" Vital="No" />
  <RollbackBoundary Vital="Yes">
  <MsiPackage SourceFile="SecondFail.msi" /> </Chain>
                In this example, A would get installed, Failed would be attempted, but then ignored due to the Packages Vital state (but the cache should be cleared), Followed by the SecondFail triggering a rollback of everything?

Thanks,
Jacob

____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/ ____________________________________________________________________
WiX Toolset Developer Mailing List provided by FireGiant http://www.firegiant.com/



More information about the wix-devs mailing list