2

I am very new to wix. I just read the documentation on firegiant and created a sample installer. I have a couple of question.

  1. Can I create an .msi through wix which does both install and upgrade? i.e if a product is already present on the user's system, the .msi should run in upgrade mode. If the product is not present, the same .msi should run in fresh install mode. How do I package files for such an .msi? Does this work based on conditions during installation

  2. If the user's system has a newer file, then the installer should not overwrite it. The catch is, this newer file on the user's system was manually updated by the user. Will wix leave it alone when it see that the newer file is not tied to any version of wix?

  • 1
    Note: "Windows Installer" is part of Windows and is the execution engine. It is relevant in "Can I" questions. "WiX Toolset" is a builder for packages. It is relevant in "How to" questions. (Unlike some other builders, WiX has the design goal of building any reasonable package that Windows Installer can use.) I just point this out because you might find answers to some questions in Windows Installer documentation. – Tom Blodget Sep 13 '19 at 23:00
  • Wow! Things became so much easier to find with the 'How to' tag, this was a great pointer, thanks! – user3208131 Oct 02 '19 at 16:26

1 Answers1

0

Quick Links:


  1. Upgrades: Update is a built-in feature of MSI. There are major upgrades (the most common and reliable), minor upgrades and small upgrades (not recommended). If the same setup is run again after original installation it is run in "maintenance mode".

  2. Downgrade: The file versioning rules of Windows Installer are designed to actively prevent downgrading of files. Installshield has an article on the topic. This is to prevent dll-hell. Many people find this annoying as they want to down-grade their installed binaries (which is not a good thing to do - just uninstall the latest version and install the previous MSI for the previous version is better). Setting the REINSTALLMODE property is a modifier for file overwrite behavior.

Stein Åsmul
  • 39,960
  • 25
  • 91
  • 164