We have been using WiX to create an installer for our product, but recently we have run into a problem. If we add a file in a patch, when the patch is removed, then all files that were added in the patch get removed.
We have the following setup:
- Build Release 1.0.0.0
- Hotfix 1.0.0.1 (adds new file f1.txt):
- a) Build Full installer (1.0.0.1) containing the hotfix
- b) Build a Patch against 1.0.0.0
- Hotfix 1.0.0.2 (adds new file f2.txt)
- a) Build Full installer (1.0.0.2) containing the hotfix
- b) Build a Patch against 1.0.0.0
Now, if I install using the full installer (2.a), then apply patch to version 1.0.0.2 (2.b) and then remove the patch, then all added files get removed and leaves the product in a faulty state.
I've tried adding the components as permanent, shared, increment the SharedDllRefCount, put empty GUID to try to prevent removal. But it seems like the Windows Installer reverts the transformation that is in the msp file.
The question is: Is the patch setup build incorrect, or is this a known limitation in the framework?
Sincerely