Hello gig,
I read the page a few times, but I do not see how it offers a way to deny upgrades.
My understanding of the "Upgrades" functionality is that it sets properties based on minimal, maximum and range matches of the version number. Is this correct?
I used this to conditionally set my own property which I later check in a custom action. The custom action displays a Shell.Popup() with text to inform these user about this and then returns 2 to abort the installation.
This works, but looks odd because of the popup dialog.
For me the ideal approach would be to show another "wizard" page with the text that informs the user and then ends the installation.
I hoped there was an already existing mechanism for this, so that I'd only need to set for example AI_PRODUCTFOUNDNOTUPGRADABLE and have AI do the rest for me automatically.
I was going to suggest to add this as a feature request, but now I am not so sure how common this case is anyway, because the installer can do the "complete" deinstallation of the existing installation for the user anyway, it would only have to display another page warning the user about the fact the he'll loose all settings (or data stored in the installation folder). So it would go like this:
- In the Upgrades page set a property if the existing version is too old
- After selecting to install into the folder of the existing installation show a wizard page warning about the fact that all existing settings and data will be lost if the user proceeds
- Let AI deinstall the existing installation as usual (the deinstaller of the old version will think that it is being deinstalled for an upgrade and as a result leave data and configuration files in the installation directory, instead of deleting them)
- In a custom action (script) remove all configuration and data files from the installation directory
- Let AI go about the installation as usual
Does that sound about right?
By the way, Is there documentation of the properties such as AI_NEWERPRODUCTFOUND?
This is the default property used by Advanced Installer to store products ("Product Code") that are newer than the installed one. You can use any property you want in your custom upgrades.[/quote]
Do any other properties like AI_NEWERPRODUCTFOUND exist that trigger a certain behavior of AI?
With best regards
Clemens Anhuth