Application upgrade installs
Hi all,

I currently have an application which has been released as version 1.0 and have an upgrade coming soon. I was wondering how to best go about this.

Firstly I know I can simply set the right overwrite options when copying the files and it checks the existing file(s) versions and then decides whether to update or not. I have also seen previous posts on the forums which explain how I can change the installer to show "Upgrade" text if it detects and existing install and how to not write another entry in "Add/Remove Programs" if it already has been
installed.

What I also need to do is to make changes to the database which the application uses. So if a previous version has been installed I need to drop some columns, create new tables etc. in the existing database.

Any suggestions as to how I can best go about this?

Should I simply execute an Upgrade.exe program (which I write) at the end of the install and let it do the work?

Can I run a command line program (which I write) and execute it as part of the setup?

Or, if version 1.0 is detected as having been already installed, I install an upgrade.exe file in the application's directory. Let the install end as normal, and just have code in my application.exe which looks for this upgrade.exe and runs it?

Any tips, suggestions as to how other go about doing a database upgrade to an existing installed application would be greatly appreciated.

Cheers,
Diego