Upgrade existing install

Got a problem you cannot solve? Try here.
Post Reply
nico.lammers
Posts: 13
Joined: Wed Jun 03, 2009 10:45 am

Upgrade existing install

Post by nico.lammers »

Hopefully someone has some advice for me here... here's my situation:

Basically, what I want is an installer that can both install from scratch, or update from a specific version to the "latest" version. Uninstalling/reinstalling is not really an option, and patching seems limited since I need to do some custom actions (run database scripts, change registry settings and invoke external licensing application) which can be different depending on the version already installed.

Some thoughts on this would be much appreciated.
neillans
Posts: 536
Joined: Sat Nov 04, 2006 6:21 am
Location: Scottish Borders, UK

Post by neillans »

If you are ruling out the use of uninstalls or patching, you kind of only have one option left -- manual version management in your MSI code, however, you will need to be particularly careful with your revision and product ID codes if you do not want to trigger uninstalls.

You will also need to add logic to remove the redundant Uninstall entries from the registry.
Andy Neillans
nico.lammers
Posts: 13
Joined: Wed Jun 03, 2009 10:45 am

Post by nico.lammers »

I figured I can use the NEEDSUPGRADE variable when the revision changes, and trigger a 'different' install script.

Somehow I'm not able to add files to an existing installation however :(

I'm probably missing some conceptual IA / MSI info here.

Problem is, patching won't work because I've made changes to the flow in my script.. and I don't have all the previous installers (kinda stupid, I know) to reference.

Uninstalling/installing isn't really an option from user experience point of view.. also it would mean having to enter targetdir, shortcut folders and user info again.. which is stupid because the user already has the application and is installing an update..

Basically what I want to do is an in-place upgrade of an existing install / files.. plus run some db scripts and an external app for application licensing..
neillans
Posts: 536
Joined: Sat Nov 04, 2006 6:21 am
Location: Scottish Borders, UK

Post by neillans »

Hmmm.

How about going off the track, and actually hiding the fact you are doing the uninstall / reinstall ? :)

You can easily write the user specified options - i.e. target dir etc - to a registry key during install which you can use for the reinstall.
Andy Neillans
nico.lammers
Posts: 13
Joined: Wed Jun 03, 2009 10:45 am

Post by nico.lammers »

That would be an idea if I had all the data I needed. Unfortunately the installers that were used at clients do not put all info needed to install (like the path of shortcut folders) in the registry...
Post Reply