Component's GUID Across Updates #7893
-
Given A Context: I'm currently developing a multi packagers CI automation tool. Wix4 requested to make each component to have unique Guid but did not specify whether it's persistent across upgrade versions. On automation tool side, it can be either cryptographically generate the GUID each time or prepare some kind of config file to house those GUIDs. References: [1] - Component Specs - https://wixtoolset.org/docs/schema/wxs/component/ |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
Generally they should be the same versions. Especially if you intend to support minor upgrades or patching. Major Upgrades can give you a lot more flexibility if you schedule remove existing products really early on. Have you considered authoring the wxs without guids and ids? I maintain a FOSS project called IsWiX and in v4 I don't author these unless I have to. See: https://github.com/iswix-llc/iswix/blob/main/Installer/IsWiX/IsWiXLib.wxs For a higher level view of what IsWiX is see https://github.com/iswix-llc/iswix-tutorials |
Beta Was this translation helpful? Give feedback.
-
Thanks for the fast support, @chrpai. =)
Yeap but the tool I'm building supports cross-platform so it's outside of Visual Studio (besides, folks using VS should be taken good care by MSFT already). I'm on the |
Beta Was this translation helpful? Give feedback.
-
@hollowaykeanho wix v4 isn't limited to Visual Studio. |
Beta Was this translation helpful? Give feedback.
-
a moment... I thought the github you shared was the Please correct me if I'm wrong. I'm not quite familiar with MSI packager. Been stuck for 5 weeks R&D =.="
Yeah.. fortunately. Am happy they moved to .Net. Hopefully they can make it available for non-Windows' environment ( |
Beta Was this translation helpful? Give feedback.
-
Also, isn't the Wix4 document specifically mentions that the If you ask for my personal opinion, I obviously do not want to keep too many GUID confusing everyone. ID is okay. Like, I'm curious what's the protection benefits at component level when Product GUID and Upgrade Code is already made available. The scariest part is |
Beta Was this translation helpful? Give feedback.
Generally they should be the same versions. Especially if you intend to support minor upgrades or patching. Major Upgrades can give you a lot more flexibility if you schedule remove existing products really early on.
Have you considered authoring the wxs without guids and ids? I maintain a FOSS project called IsWiX and in v4 I don't author these unless I have to. See:
https://github.com/iswix-llc/iswix/blob/main/Installer/IsWiX/IsWiXLib.wxs
For a higher level view of what IsWiX is see https://github.com/iswix-llc/iswix-tutorials