I have found the following bug while evaluating InstallAware 7.0. Below are the steps to reproduce the bug.
1) Install you application with 1 or more pre-requisites (ex: .Net 2.0 and SQL Express).
2) Uninstall 1 of the pre-requisites above.
3) Run the Uninstall for the program you installed in Step #1. Before the user is prompted to either Modify, Repair or Remiove the pre-requisites are checked and you have to install the deleted pre-requisite for the "uninstall" to continue.
It would be better if the Remove/Modify/Repair options was shown before the pre-requisites test. Then if the user chooses to Uninstall the pre-requisites checks should be skipped and if the user chooses Modify/Repair then the pre-requisites checks should be done and any missing once installed to continue.
I wonder if there is a way to work-around this by changing the oder of the dialog boxes so that the Remove/Modify/Repair does happen before the pre-requisites checks. You would also have to update the scripts some so that depending on what option the user chooses will decide whether or not to do the checks. If this is a possible work-around can this be done in developer or would you need Studio to implement this work-around.
Version 7.0 Bug (Pre-Requisites
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
This isn't really a bug, its by design. You can easily override this behavior by wrapping your entire prereq section inside an If block - test that MAINTENANCE is FALSE before entering the block, and that will take care of it for you!
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Thanks,
1) Would I also not have to change where the prereq section is called from so it run after the "Modify/Repair/Uninstall Screen during a maintenance install, but the first thing run during a normal install?
2) Is the maintenance flag set before the prereqs are called?
Why wouldn't you want this to be the default behavior, since it really does not make sense that to uninstall an application you have to reinstall any prereqs that were uninstalled other ways. By having this be the default behavior you would eliminate users having to write a work-around for each install the create. I am not saying the default behavior is incorrect, I'm just trying to understand the use case where the default behavior would be preferred.
1) Would I also not have to change where the prereq section is called from so it run after the "Modify/Repair/Uninstall Screen during a maintenance install, but the first thing run during a normal install?
2) Is the maintenance flag set before the prereqs are called?
Why wouldn't you want this to be the default behavior, since it really does not make sense that to uninstall an application you have to reinstall any prereqs that were uninstalled other ways. By having this be the default behavior you would eliminate users having to write a work-around for each install the create. I am not saying the default behavior is incorrect, I'm just trying to understand the use case where the default behavior would be preferred.
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Well, lets say you installed a .NET app, which needs to do some cleanup on uninstall; or lets say you need to run a SQL script while uninstalling to perform housekeeping tasks, or what not, for your SQL application.
In all these cases, if the prereqs are gone, the uninstall would break.
In all these cases, if the prereqs are gone, the uninstall would break.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
MichaelNesmith wrote:Well, lets say you installed a .NET app, which needs to do some cleanup on uninstall; or lets say you need to run a SQL script while uninstalling to perform housekeeping tasks, or what not, for your SQL application.
In all these cases, if the prereqs are gone, the uninstall would break.
Thanks, that makes total sense and I can see the benefits of both scenarios, and why you chose the later. The scenarios you described are probably more likely to happen.
Who is online
Users browsing this forum: Bing [Bot] and 95 guests