PDA

View Full Version : maintenance is no longer triggered



revilord
02-22-2005, 03:11 PM
I have been having a lot of problems with my program uninstall files in my Installscript project. I only want some of the project uninstalled. I have logging disabled and enabled for some components. Something has happened and now the install won't go into maintenance mode and it does a fresh install each time. How is the maintenance mode enabled. It was working at one point but has stopped. I don't really care if anything gets removed but the project doesn't need to recodnize that it should be in maintenance.

anitabs
02-23-2005, 07:23 AM
Use this property to indicate whether or not you want the Maintenance UI script functions—OnMaintUIBefore and OnMaintUIAfter—invoked when an end user attempts to install your application on a system where the application has already been installed, or uninstalls the application from the Add/Remove Programs panel.

Yes : Calls the Maintenance UI functions in your script. When an end user attempts to reinstall your application or uninstall from the Add/Remove panel, the Program Maintenance dialog is displayed.

No :The Maintenance UI functions are not called in your script. When an end user installs your application to a system that currently has your application installed, the application is uninstalled. If the end user tries to uninstall your application from the Add/Remove Programs panel, the application is uninstalled without displaying the Program Maintenance dialog.

Setting this property to No affects the uninstallation only if the product is uninstalled via the Add/Remove panel. If the product is uninstalled via Setup.exe, the Enable Maintenance property has no effect.

revilord
02-23-2005, 09:27 AM
Thanks for the pointer but that option only available in InstallScript MSI projects. Mine is an InstallScript project. I have checked that "Maintenance Experience" is set to Standard but for some reason the OS doesn't see the program being installed. It is almost like logging is disabled for the entire project.

chrishein
02-23-2005, 11:38 AM
The reason that Maintenance mode is invoked is because the Product GUID already resides in an Uninstall Key. If you have removed the CreateInstallationInformation command this could result in no maintenance mode. Its also important to make sure that you have kept the same GUID between installs.

Chris

revilord
02-23-2005, 12:28 PM
You may have something there but I thought CreateInstallationInfo was called automatically after FirstUIBefore. I already call


this

function OnMoving()
STRING szAppPath;
begin
// Set LOGO Compliance Application Path
// TO DO : if your application .exe is in a subfolder of TARGETDIR then add subfolder
szAppPath = TARGETDIR;
RegDBSetItem(REGDB_APPPATH, szAppPath);
RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY);

It is entirely possible I removed something important but I have never explicitly seen CreateInstallationInfo in any projects.