Hi Guys,
Is there any reason InstallAware always wants to uninstall the prior version of a piece of software when installing a new update? I know lots of software packages can just 'update' the installation without requiring the uninstall of the prior software package, so I am wondering if it is possible to do that with InstallAware?
Part of the reason I would like to do that, is due to the way Install Aware handles silent installs for automatic 'upgrades'. I wrote my own upgrade system (the supplied script did not do exactly what I needed), which spawns the installer with the /s option just like the InstallAware upgrades. Which works great until we hit our real warehouse Netbooks, which are running Windows XP Home with limited user accounts. Windows XP Home has retarded access controls built in, so unless the user is an admin, installing to C:\Program Files\My Program is not going to work, so we have to install the software into C:\My Program, because the root directory is never locked down on XP Home. And XP Home does not support UAC elevation, so the installer running under the limited use account cannot gain admin rights.
Anyway, this all works fine until an update is delivered, because the silent update ends up doing a complete uninstall of the product, and then a fresh install. Since InstallAware does not appear to have any support for 'remembering' where the last install was located, it happily tries to install to C:\Program Files\My Program, which of course fails. And the machine now has nothing installed on it.
I can hack around the problem for now by making the program install into C:\My Program by default, but it would be better if InstallAware could do either of these two things:
1. Install an upgrade over the top of the existing install, rather than requiring a full uninstall. I don't want to manage patches, just push all the new files on top of the old ones, and re-start everything.
2. Failed the above, the uninstall/re-install will work PROVIDED there is some mechanism to remember the previous install settings so that when the silent install runs, it will re-install to the overridden location?
Is there any support for this, or am I going to have to code this up myself in MSI?
Install 'upgrade' without uninstall?
Install 'upgrade' without uninstall?
- Kendall Bennett
Re: Install 'upgrade' without uninstall?
Hi Kendall,
In short, patching would be the preferred method of providing incremental upgrades at this time.
However, you should be able to retain the paths between installs using persistent variables.
When entering a Set Variable command, check "Remember value when restarting setup". This should make the command now appear as Set Persistent Variable.
Normally, the variables will persist as long as the product and revision codes match.
You might find that you need to set the compiler variable LOADOLDDATA = TRUE with changing revision codes but with unchanging product codes. Save/Load Feature Selections can then be used to store/load persistent variables.
In short, patching would be the preferred method of providing incremental upgrades at this time.
However, you should be able to retain the paths between installs using persistent variables.
When entering a Set Variable command, check "Remember value when restarting setup". This should make the command now appear as Set Persistent Variable.
Normally, the variables will persist as long as the product and revision codes match.
You might find that you need to set the compiler variable LOADOLDDATA = TRUE with changing revision codes but with unchanging product codes. Save/Load Feature Selections can then be used to store/load persistent variables.
Andy Mills
InstallAware
Other Help:
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help - Press F1 in the InstallAware IDE.
InstallAware
Other Help:
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help - Press F1 in the InstallAware IDE.
Re: Install 'upgrade' without uninstall?
Ok thanks. According to the docs, it should be remembering these values already for the same setup version:
"Except for the pre-defined variables TARGETDIR, STARTMENU and ALLUSERS, setup does not save the value of the variables you use in your setup. If you would like setup to save the values of your variables, so they are initialized to the last value they had when setup was running, check this box. If not, leave this box unchecked."
So I assume maybe all I need is the LOADOLDATA=TRUE set?
Where do I set a compiler variable inside the setup project? Or is that something I can only do from the command line?
"Except for the pre-defined variables TARGETDIR, STARTMENU and ALLUSERS, setup does not save the value of the variables you use in your setup. If you would like setup to save the values of your variables, so they are initialized to the last value they had when setup was running, check this box. If not, leave this box unchecked."
So I assume maybe all I need is the LOADOLDATA=TRUE set?
Where do I set a compiler variable inside the setup project? Or is that something I can only do from the command line?
- Kendall Bennett
Re: Install 'upgrade' without uninstall?
Click on the "InstallAware button" (see attached image). Then, click on Project Settings.
Under the Project section, you will find Compiler Variables.
Under the Project section, you will find Compiler Variables.
- Attachments
-
- InstallAware_Button.JPG (19.58 KiB) Viewed 7305 times
Andy Mills
InstallAware
Other Help:
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help - Press F1 in the InstallAware IDE.
InstallAware
Other Help:
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help - Press F1 in the InstallAware IDE.
Re: Install 'upgrade' without uninstall?
Crap, I guess I need the Studio edition to set compiler variables? So I am back at square one
.
Unless I can do it from the command line build process? I do the official builds from the command line as a part of our build system, so perhaps that would work?
Unless I can do it from the command line build process? I do the official builds from the command line as a part of our build system, so perhaps that would work?
- Kendall Bennett
Re: Install 'upgrade' without uninstall?
You should be able to use:
miabuild.exe <project file> LOADOLDDATA = TRUE
And yes, even command-line support for compiler-variable parameters requires at least Studio.
miabuild.exe <project file> LOADOLDDATA = TRUE
And yes, even command-line support for compiler-variable parameters requires at least Studio.
Andy Mills
InstallAware
Other Help:
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help - Press F1 in the InstallAware IDE.
InstallAware
Other Help:
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Product Guides - http://www.installaware.com/publication ... guides.htm
InstallAware Help - Press F1 in the InstallAware IDE.

