With my installer, I would like to provide the option of doing an upgrade install.
What is the best way to accomplish this?
I was thinking i might call the uninstaller and have it run silently (no UI) before doing the install; is that possible to do?
Also, I've noticed if I run my installer and install to the same directory, overwriting the files that are there, the install is VERY slow; whereas doing a 'clean' install is fast. What's up with that?
Perform silent uninstall during upgrade install?
2 posts
Doing a silent uninstall for upgrades is a good idea. I use this in all my installers. You can have one installer that does all things you want this way:
1. Detect if software is installed already (=> UPDATE mode)
2. If UPDATE mode: read current settings (INSTDIR, startmenu ...)
3. If UPDATE mode: uninstall silently using something like this:
ExecWait '"$INSTDIR\uninstall.exe" /S _?=$INSTDIR'
4. If NOT UPDATE mode: ask user for INSTDIR, startmenu ...
5. Install new software version and store INSTDIR, startmenu and more somewhere (e.g. registry) for later use (step 2)
1. Detect if software is installed already (=> UPDATE mode)
2. If UPDATE mode: read current settings (INSTDIR, startmenu ...)
3. If UPDATE mode: uninstall silently using something like this:
ExecWait '"$INSTDIR\uninstall.exe" /S _?=$INSTDIR'
4. If NOT UPDATE mode: ask user for INSTDIR, startmenu ...
5. Install new software version and store INSTDIR, startmenu and more somewhere (e.g. registry) for later use (step 2)