Install and Update Strategy what is the best way for my requirements for MSI and WIX?
Posted on 2013-06-01
I have never used the installer or wix. I am currently writing a small app .NET 4 / Windows 7 / x64 which I will distribute to people at work. If there is one thing I have understood so far that is, to make sure I have my installer right before the first time I distribute otherwise updates will be difficult.
Here are my important points I think;
1. The app will contain registry entries and at least one file that the user will change so this file/s cannot be updated. (thus a general major upgrade with full removal is not possible)
2. My thoughts are that the main app .exe file will probably get updated quite regularly as this is not some professional job, my users are my testers. For example if an error is found it might get updated every day or then every week.
3. Currently I plan to have a small .exe which will be the actual .exe that users start, this will check a shared drive for a new file (msi/installer file I assume) and if it is newer then it will copy to the client and install, then it will start the app.exe. (Thus using the command line and minor updates would be possible)
4. Depending on how you suggest i do updates in 3 I would always like to have a "full" installer for any new person that comes along and wants to try it out.
5. I am installing my app in the users own local folder and only using the current users registry so there is no need and I do not want any UAC prompts. There are no .dll to register and I dont think any dependancies to install or check on. (I am not sure on the last one as I do need C++ Distributable but I think this is on all of the machines already).
It would be great if I only had one installer that either installed it new or updated an older version.
So can people make recommendations or point me in the right direction. For example I have read I can use BURN and make two products, one for the stable stuff and one for the unstable stuff that is regularly updated, then do major upgrades on the stuff that changes.
I was hoping but am unable to confirm that I can always make one installer which simple has the whole project in it. This will install the app on a new machine, or update on an existing machine and I can specify files to ignore if they already exist. Likewise with registry keys, if the key already exists then do nothing, but if it does not exist then add it.
I am not necessarily looking for code, nor links to a tutorial, at this stage I am looking for how I should be in theory doing this with the correct catch words from you so that I can then put those words into Google to search and read up on your suggestions.