Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Burn should support bundle supersedence for patch bundles #4779

Open
wixbot opened this issue May 27, 2015 · 14 comments
Open

Burn should support bundle supersedence for patch bundles #4779

wixbot opened this issue May 27, 2015 · 14 comments
Labels
burn feature wip required This issue is complex enough that it requires a WiX Improvement Proposal to be accepted first
Milestone

Comments

@wixbot
Copy link

wixbot commented May 27, 2015

Deploying Patches via burn, supersede is on.

  • Deploying Patch 1.0.1.0 -> Changes apply in installation, ‘view installed updates’ shows patch 1.0.1.0
  • Deploying Patch 1.0.2.0 -> Changes apply in installation, ‘view installed updates’ shows patch 1.0.2.0
  • Deploying Patch 1.0.3.0 -> Changes apply in installation, ‘view installed updates’ shows patch 1.0.3.0

So far so good
Now, uninstalling Patch 1.0.3.0 -> installation reverts back to patch 2 condition, but patch 1.0.2.0 does not show in ‘view installed updates’.

This has been reported as fixed WiX v3.9 (http://wixtoolset.org/issues/4033/), but I still got the error in v3.9.1208.0

Originally opened by melmelrob

@wixbot
Copy link
Author

wixbot commented May 31, 2015

Please upload logs from uninstalling patch 1.0.3.0 and post the link here.

Originally posted by barnson

@wixbot
Copy link
Author

wixbot commented Jun 2, 2015

As mentioned everything works fine except that after rolling back Patch 1.0.3.0, I expect Patch 1.0.2.0 to show in 'installed Updates'

Uninstalling Patch 1.0.3.0 generates the following 3 files

  • Robs_Demo_Product_20150601165750.log (5kb) (Burn log file)
  • Robs_Demo_Product_1.0.3.0_20150601165748.log (7kb) (uninstall patch 1.0.3.0)
  • Robs_Demo_Product_20150601165750_0_toolroom.log (122kb) (repair base install?)

Please let me know if more files are needed. Is there a better way to upload code, screenshots ect to this forum?

Robs_Demo_Product_20150601165750.log

[02D4:0954][2015-06-01T16:57:49]i001: Burn v3.9.1208.0, Windows v6.2 (Build 9200: Service Pack 0), path: C:\ProgramData\Package Cache{78f4c67f-ab2b-4777-b2ab-424ccf00fb14}\Bootstrapper1.exe, cmdline: '-burn.unelevated BurnPipe.{8E8C64F5-4392-4086-9C82-73AA1DC9D9AA} {8F22C238-3472-4FE2-B37D-20A345D54F9B} 2464 -repair -quiet -burn.ancestors={04bc6ff4-d573-4857-8e10-107edf27492a} -burn.embedded BurnPipe.{339E076E-C9AE-421F-8E36-F4141B86DFAB} {4525C8D9-EE28-4E9C-96E3-2AC9DBDA8C8B} 2616'
[02D4:0954][2015-06-01T16:57:50]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_20150601165750.log'
[02D4:0524][2015-06-01T16:57:50]i000: Setting version variable 'WixBundleFileVersion' to value '1.0.0.0'
[02D4:0954][2015-06-01T16:57:50]i100: Detect begin, 1 packages
[02D4:0954][2015-06-01T16:57:50]i102: Detected related bundle: {04bc6ff4-d573-4857-8e10-107edf27492a}, type: Patch, scope: PerMachine, version: 1.0.3.0, operation: Repair
[02D4:0954][2015-06-01T16:57:50]i101: Detected package: toolroom, state: Present, cached: Complete
[02D4:0954][2015-06-01T16:57:50]i199: Detect complete, result: 0x0
[02D4:0954][2015-06-01T16:57:50]i200: Plan begin, 1 packages, action: Repair
[02D4:0954][2015-06-01T16:57:50]i214: Plan skipped related bundle: {04bc6ff4-d573-4857-8e10-107edf27492a}, type: Patch, because it was previously scheduled.
[02D4:0954][2015-06-01T16:57:50]i000: Setting string variable 'WixBundleLog_toolroom' to value 'C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_20150601165750_0_toolroom.log'
[02D4:0954][2015-06-01T16:57:50]i201: Planned package: toolroom, state: Present, default requested: Repair, ba requested: Repair, execute: Repair, rollback: None, cache: No, uncache: No, dependency: Register
[02D4:0954][2015-06-01T16:57:50]i207: Planned related bundle: {04bc6ff4-d573-4857-8e10-107edf27492a}, type: Patch, default requested: None, ba requested: None, execute: None, rollback: None, dependency: None
[02D4:0954][2015-06-01T16:57:50]i299: Plan complete, result: 0x0
[02D4:0954][2015-06-01T16:57:50]i300: Apply begin
[09A0:0EB4][2015-06-01T16:57:50]i304: Verified existing payload: toolroom at path: C:\ProgramData\Package Cache{48C49ACE-90CF-4161-9C6E-9162115A54D4}v1.0.0\Setup Files\patch1.msi.
[09A0:0EB4][2015-06-01T16:57:50]i304: Verified existing payload: fE577697B0F0694F2ED5254DC157E0AC6 at path: C:\ProgramData\Package Cache{48C49ACE-90CF-4161-9C6E-9162115A54D4}v1.0.0\Setup Files\PFiles\Test\Patch Sample Directory\Sample.txt.
[09A0:0D90][2015-06-01T16:57:50]i323: Registering package dependency provider: {48C49ACE-90CF-4161-9C6E-9162115A54D4}, version: 1.0.0, package: toolroom
[09A0:0D90][2015-06-01T16:57:50]i301: Applying execute package: toolroom, action: Repair, path: C:\ProgramData\Package Cache{48C49ACE-90CF-4161-9C6E-9162115A54D4}v1.0.0\Setup Files\patch1.msi, arguments: ' ARPSYSTEMCOMPONENT="1" MSIFASTINSTALL="7" INSTALLLOCATION="C:\Program Files (x86)"'
[02D4:0954][2015-06-01T16:57:50]i319: Applied execute package: toolroom, result: 0x0, restart: None
[09A0:0D90][2015-06-01T16:57:50]i325: Registering dependency: {78f4c67f-ab2b-4777-b2ab-424ccf00fb14} on package provider: {48C49ACE-90CF-4161-9C6E-9162115A54D4}, package: toolroom
[02D4:0954][2015-06-01T16:57:50]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[02D4:0954][2015-06-01T16:57:50]i500: Shutting down, exit code: 0x0
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleAction = 6
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleElevated = 1
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleFileVersion = 1.0.0.0
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleInstalled = 1
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleLog = C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_20150601165750.log
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleLog_toolroom = C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_20150601165750_0_toolroom.log
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleManufacturer = Rob
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleName = Robs Demo Product
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleOriginalSource = E:\sample_BootStrappers Supersede Yes\Base.exe
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleOriginalSourceFolder = E:\sample_BootStrappers Supersede Yes
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleProviderKey = {78f4c67f-ab2b-4777-b2ab-424ccf00fb14}
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleTag =
[02D4:0954][2015-06-01T16:57:50]i410: Variable: WixBundleVersion = 1.0.0.0
[02D4:0954][2015-06-01T16:57:50]i007: Exit code: 0x0, restarting: No

Robs_Demo_Product_1.0.3.0_20150601165748.log

[0A74:0BB4][2015-06-01T16:57:48]i001: Burn v3.9.1208.0, Windows v6.2 (Build 9200: Service Pack 0), path: C:\ProgramData\Package Cache{04bc6ff4-d573-4857-8e10-107edf27492a}\Bootstrapper1.exe, cmdline: '-burn.unelevated BurnPipe.{142CEA2D-5C80-45B5-A3FF-00A0D5C42FBD} {FDA1DF25-3C30-4A41-8514-18E0DA1BAAFC} 2616 /uninstall'
[0A74:0BB4][2015-06-01T16:57:48]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_1.0.3.0_20150601165748.log'
[0A74:0798][2015-06-01T16:57:48]i000: Setting version variable 'WixBundleFileVersion' to value '1.0.3.0'
[0A74:0BB4][2015-06-01T16:57:48]i100: Detect begin, 1 packages
[0A74:0BB4][2015-06-01T16:57:48]i000: Setting numeric variable 'isToolRoomInstalled' to value 1
[0A74:0BB4][2015-06-01T16:57:48]i000: Setting string variable 'installedPatchVersion' to value '1030'
[0A74:0BB4][2015-06-01T16:57:48]i000: Setting numeric variable 'isPatchinstalled' to value 1
[0A74:0BB4][2015-06-01T16:57:48]i102: Detected related bundle: {78f4c67f-ab2b-4777-b2ab-424ccf00fb14}, type: Dependent, scope: PerMachine, version: 1.0.0.0, operation: None
[0A74:0BB4][2015-06-01T16:57:48]i106: Calculating patch applicability for target product code: {48C49ACE-90CF-4161-9C6E-9162115A54D4}, context: Machine
[0A74:0BB4][2015-06-01T16:57:48]i101: Detected package: toolroom, state: Present, cached: Complete
[0A74:0BB4][2015-06-01T16:57:48]i105: Detected package: toolroom target: {48C49ACE-90CF-4161-9C6E-9162115A54D4}, state: Present
[0A74:0BB4][2015-06-01T16:57:48]i052: Condition 'isToolRoomInstalled' evaluates to true.
[0A74:0BB4][2015-06-01T16:57:48]i199: Detect complete, result: 0x0
[0A74:0BB4][2015-06-01T16:57:49]i200: Plan begin, 1 packages, action: Uninstall
[0A74:0BB4][2015-06-01T16:57:49]i000: Setting string variable 'WixBundleLog_toolroom' to value 'C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_1.0.3.0_20150601165748_{48C49ACE-90CF-4161-9C6E-9162115A54D4}0_toolroom.log'
[0A74:0BB4][2015-06-01T16:57:49]i000: Setting string variable 'WixBundleRollbackLog_toolroom' to value 'C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_1.0.3.0_20150601165748
{48C49ACE-90CF-4161-9C6E-9162115A54D4}0_toolroom_rollback.log'
[0A74:0BB4][2015-06-01T16:57:49]i207: Planned related bundle: {78f4c67f-ab2b-4777-b2ab-424ccf00fb14}, type: Dependent, default requested: Repair, ba requested: Repair, execute: Repair, rollback: None, dependency: None
[0A74:0BB4][2015-06-01T16:57:49]i201: Planned package: toolroom, state: Present, default requested: Absent, ba requested: Absent, execute: Uninstall, rollback: Install, cache: No, uncache: Yes, dependency: Unregister
[0A74:0BB4][2015-06-01T16:57:49]i299: Plan complete, result: 0x0
[0A74:0BB4][2015-06-01T16:57:49]i300: Apply begin
[0A38:0F70][2015-06-01T16:57:49]i360: Creating a system restore point.
[0A38:0F70][2015-06-01T16:57:49]i361: Created a system restore point.
[0A38:0F70][2015-06-01T16:57:49]i326: Removed dependency: {04bc6ff4-d573-4857-8e10-107edf27492a} on package provider: {E0E890B1-1D91-4835-A685-B74271445D25}, package toolroom
[0A38:0F70][2015-06-01T16:57:49]i329: Removed package dependency provider: {E0E890B1-1D91-4835-A685-B74271445D25}, package: toolroom
[0A38:0F70][2015-06-01T16:57:49]i306: Applying package: toolroom, target: {48C49ACE-90CF-4161-9C6E-9162115A54D4}, action: Uninstall, path: {E0E890B1-1D91-4835-A685-B74271445D25}, arguments: ' INSTALLLOCATION=""'
[0A74:0BB4][2015-06-01T16:57:49]i319: Applied execute package: toolroom, result: 0x0, restart: None
[0A38:0F70][2015-06-01T16:57:49]i301: Applying execute package: {78f4c67f-ab2b-4777-b2ab-424ccf00fb14}, action: Repair, path: C:\ProgramData\Package Cache{78f4c67f-ab2b-4777-b2ab-424ccf00fb14}\Bootstrapper1.exe, arguments: '"C:\ProgramData\Package Cache{78f4c67f-ab2b-4777-b2ab-424ccf00fb14}\Bootstrapper1.exe" -repair -quiet -burn.ancestors={04bc6ff4-d573-4857-8e10-107edf27492a}'
[0A74:0BB4][2015-06-01T16:57:50]i319: Applied execute package: {78f4c67f-ab2b-4777-b2ab-424ccf00fb14}, result: 0x0, restart: None
[0A38:0F70][2015-06-01T16:57:50]i351: Removing cached package: toolroom, from path: C:\ProgramData\Package Cache{E0E890B1-1D91-4835-A685-B74271445D25}
[0A38:0F70][2015-06-01T16:57:50]i330: Removed bundle dependency provider: {04bc6ff4-d573-4857-8e10-107edf27492a}
[0A38:0F70][2015-06-01T16:57:50]i352: Removing cached bundle: {04bc6ff4-d573-4857-8e10-107edf27492a}, from path: C:\ProgramData\Package Cache{04bc6ff4-d573-4857-8e10-107edf27492a}
[0A74:0BB4][2015-06-01T16:57:50]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[0A74:0BB4][2015-06-01T16:57:51]i500: Shutting down, exit code: 0x0
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: installedPatchVersion = 1030
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: isPatchinstalled = 1
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: isToolRoomInstalled = 1
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleAction = 3
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleElevated = 1
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleFileVersion = 1.0.3.0
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleInstalled = 1
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleLog = C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_1.0.3.0_20150601165748.log
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleLog_toolroom = C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_1.0.3.0_20150601165748
{48C49ACE-90CF-4161-9C6E-9162115A54D4}0_toolroom.log
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleManufacturer = Rob
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleName = Robs Demo Product 1.0.3.0
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleOriginalSource = E:\sample_BootStrappers Supersede Yes\Patch3.exe
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleOriginalSourceFolder = E:\sample_BootStrappers Supersede Yes
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleProviderKey = {04bc6ff4-d573-4857-8e10-107edf27492a}
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleRollbackLog_toolroom = C:\Users\Robert\AppData\Local\Temp\Robs_Demo_Product_1.0.3.0_20150601165748
{48C49ACE-90CF-4161-9C6E-9162115A54D4}_0_toolroom_rollback.log
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleTag =
[0A74:0BB4][2015-06-01T16:57:51]i410: Variable: WixBundleVersion = 1.0.3.0
[0A74:0BB4][2015-06-01T16:57:51]i007: Exit code: 0x0, restarting: No

Originally posted by melmelrob

@wixbot
Copy link
Author

wixbot commented Jun 2, 2015

It's hard to tell what's going on but it looks like you have related bundles with updated .msi packages? Please post a .zip file with sample authoring and all the logs for install and patch install and patch uninstall and we can see if we can figure out what's happening.

@wixbot
Copy link
Author

wixbot commented Jun 3, 2015

Status changed from Open to Untriaged

@wixbot
Copy link
Author

wixbot commented Jun 3, 2015

I uploaded the source of my demo project here

Apart from the source, there are screenshots and log files as well.

Originally posted by melmelrob

@wixbot
Copy link
Author

wixbot commented Jun 8, 2015

The link to the uploaded demo is expiring soon, therefore I reposed the upload here

Originally posted by melmelrob

@wixbot
Copy link
Author

wixbot commented Jun 16, 2015

latest upload here

Originally posted by melmelrob

@wixbot
Copy link
Author

wixbot commented Jun 20, 2015

Burn doesn't support "bundle supersedence." When one bundle upgrades a lower-versioned bundle with the same upgrade code, the lower-versioned bundle is uninstalled. You can see that when installing 1.3: the 1.2 bundle is uninstalled with command-line switches -uninstall -quiet -burn.related.upgrade. The .msps themselves remain installed and the normal MSI supersedence rules apply:

MSI (s) (2C:AC) [21:38:37:683]: SequencePatches starts. Product code: {48C49ACE-90CF-4161-9C6E-9162115A54D4}, Product version: 1.0.0, Upgrade code: {48C49ACE-90CF-4161-9C6E-9162115A54DD}, Product language 1033
MSI (s) (2C:AC) [21:38:37:683]: SequencePatches returns success.
MSI (s) (2C:AC) [21:38:37:683]: Final Patch Application Order:
MSI (s) (2C:AC) [21:38:37:683]: {C21B4D3C-13B2-4302-AB3A-6FED4BB32E11} - 
MSI (s) (2C:AC) [21:38:37:683]: Other Patches:
MSI (s) (2C:AC) [21:38:37:683]: Superseded: {224C316C-5894-4771-BABF-21A3AC1F75FF} - 

I'll turn this into a feature request. Bundle supersedence might be an interesting feature.

Originally posted by barnson

@wixbot
Copy link
Author

wixbot commented Jun 20, 2015

Originally changed by barnson
Release changed from v3.9 to v3.x
Type changed from Bug to Feature

@wixbot
Copy link
Author

wixbot commented Jun 21, 2015

Great, thanks.
Is there a way I can assist?
Could you give me some pointers on how to approach this and where to start looking ti the code?
many thanks ... Rob

Originally posted by melmelrob

@wixbot
Copy link
Author

wixbot commented Jun 23, 2015

It's a fairly complicated change. There would have to be a new type of related bundle (BOOTSTRAPPER_RELATION_TYPE) that tells the bundle to hide itself in ARP but not uninstall itself like during a normal upgrade when it's another patch bundle that's being installed. And when a patch bundle is uninstalled, it would have to determine which patch bundle is the latest in sequence.

Originally posted by barnson

@wixbot
Copy link
Author

wixbot commented Jun 24, 2015

thanks bob,
I know it is asking much, but is it possible to put a date on when this feature might be released?
many thanks ... rob

Originally posted by melmelrob

@wixbot
Copy link
Author

wixbot commented Jun 25, 2015

Someone has to design and implement the feature. If you're interested in doing that, you can move the feature forward. If not, you'll be waiting for someone else to get interested enough to do the work.

Originally posted by barnson

@wixbot
Copy link
Author

wixbot commented Jun 30, 2015

Needs a WIP to discuss design.

@wixbot wixbot added this to the v3.x milestone Dec 20, 2015
@rseanhall rseanhall added the wip required This issue is complex enough that it requires a WiX Improvement Proposal to be accepted first label Dec 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
burn feature wip required This issue is complex enough that it requires a WiX Improvement Proposal to be accepted first
Projects
None yet
Development

No branches or pull requests

2 participants