2

There are articles stating how to upgrade an MSI package using WIX here, and here, but for automated integration builds this may not work. Specifically, those articles state that we need to provide the previously install GUID along with a new one. Sounds like the build system needs to start tracking installed/generated GUIDs - which is not desirable.

Ideally, we would just update the product version (e.g. 1.0.0 to 1.1.0, etc) and msiexec would perform the upgrade with just that. This may not work, but you get the idea. Has anyone managed to get an automated build of MSI that's upgradeable if it's installed automatically as well?

Note: I say that tracking installed GUIDs are not preferred since typically the build system should not care what was there before (e.g. uncompressing ZIP files and using that). Any guidance would be appreciated.

Thanks

Community
  • 1
  • 1
Jose Leon
  • 1,615
  • 3
  • 22
  • 30

1 Answers1

3

There's no need to track GUIDs. Set the Product/@UpgradeCode attribute to a static GUID, use the MajorUpgrade element to author the intent of a major upgrade, and update the Product/@Version attribute with a higher version number in one of the first three fields.

Bob Arnson
  • 21,377
  • 2
  • 40
  • 47
  • FWIW all of this is done automatically using my ISWIX project templates with TFS support. Set your build definition to rev the first three fields and each build will support major upgrades over previous versions. – Christopher Painter Jun 11 '14 at 04:00