When you are working on a windows application and deploying your solution every now and then, you should be aware on not deleting all files on reinstall like the database file and some files generated by the user.
But when changing you application setup project version number you will notice that the EXE file will not be updated in most of the times, to ensure that the EXE file will be reinstalled you will have to add a property to the MSI file called
REINSTALLMODE and give it a value “
amus
”, I know for now this will make no sense for you so I will explain a little bit more about this issue.
The
REINSTALLMODE
property is a property added to the MSI file by editing it using a software called orca (just Google it ”download orca for MSI”), this property have many values and many options that can be given to it.
The one value that is important here is the amus, so what is amus and how to add all the
REINSTALLMODE
property:
After installing orca, open it and drag your msi file after building the solution off course.
You will notice a set of records added at the left under the title Tables, scroll down the records until you find a record called “Property” click on it, then its properties will open in the right panel, right click then click add row:, in the Property field write
REINSTALLMODE
and in the value field add amus, then click OK and save your MSI file.
By doing so your EXE file and all files installed from the setup and not using custom installation will be deleted.
Small note amus stands for:
- a - Force all files to be reinstalled, regardless of version.
- m - Rewrite all registry keys that go to HKEY_LOCAL_MACHINE or HKEY_CLASSES_ROOT.
- u - Rewrite all registry keys that go to HKEY_CURRENT_USER or HKEY_USERS.
- s - Reinstall shortcuts and icons.