[wix-users] Neither repairing the main bundle nor the patch bundle can repair a file not altered by a patch

Tyler Gustafson tgustafson at solacom.com
Fri Oct 14 11:58:22 PDT 2016


Excuse me, I've confused myself. Changes below

Steps to Reproduce:
Create a base1 project which installs two files "test1" and "control1"
Create a base2 project which installs two files "test2" and "control2"
Bundle the base project using Burn
Create an msp which updates the "test1" file but not the "control1" file
Bundle the patch  in a RelatedBundle

Install the base bundle
Install the patch bundle
Delete the "test1", "test2", "control1" and "control2" files

Actual Behaviour:
Run repair on the base bundle and note that "test1", "test2", and "control2" files are all regenerated but "control1" file is not
Also tried repairing the patch bundle but "control1" is still not regenerated

Expected Behaviour:
All files should be regenerated
Note that if you had set your base msi to visible you can try repairing the base1 project directly and will find both "test1" and "control1" files are properly restored as expected

What I think is happening:
I believe that repairing the base bundle:

1.       sees base1 as version 1.1 and doesn't have a baseline for that version so it does nothing

2.       sees base2 as version 1.0 and happily repairs it restoring "test2" and "control2"

3.       sees there is a patch to be applied and repairs it, restoring "test1"

Tyler


From: Tyler Gustafson
Sent: October-14-16 2:47 PM
To: WiX Toolset Users Mailing List
Subject: Neither repairing the main bundle nor the patch bundle can repair a file not altered by a patch

Maybe I'm doing something wrong. Has anyone experienced this or reported it as a bug that I wasn't able to find?

Steps to Reproduce:
Create a base1 project which installs two files "test1" and "control1"
Create a base2 project which installs two files "test2" and "control2"
Bundle the base project using Burn
Create an msp which updates the "test1" file but not the "control1" file
Bundle the patch  in a RelatedBundle

Install the base bundle
Install the patch bundle
Delete the "test1", "test2", "control1" and "control2" files

Actual Behaviour:
Run repair on the base bundle and note that "test1", "test2", and "control2" files are all regenerated but "control1" file is not
Also tried repairing the patch bundle but "control1" is still not regenerated

Expected Behaviour:
All files should be regenerated
Note that if you had set your base msi to visible you can try repairing the base1 project directly and will find both "test1" and "control1" files are properly restored as expected

What I think is happening:
I believe that repairing the base bundle:

1.       sees base1 as version 1.1 and doesn't have a baseline for that version so it does nothing

2.       sees base2 as version 1.0 and happily repairs it restoring "test2" and "control2"

3.       sees there is a patch to be applied and repairs it, restoring "test1"

Tyler


More information about the wix-users mailing list