Feature Events not Called on Uninstall from Major Upgrade
I have an existing InstallScript MSI installation that has a number of feature events including _OnUninstalling and _OnUninstalled. I've created a Major Upgrade set to "Completely uninstall old setup before installing new setup". When the old setup is "Completely uninstalled", the feature events of the old setup do not get called (which doesn't sound very "complete" to me :)). The feature events get called just fine when the product is uninstalled from Add/Remove Programs.
Is it expected behavior that feature events are not called when the installer is launched by RemoveExistingProducts?
Can anyone explain?
Is there a recommended workaround?
Just hoping to bump this back onto the list. Does anyone have a legitimate response? Before we ship our next release I think I may need to call all of my _Uninstalling handlers directly in OnMaintUIBefore( ) or OnFirstUIBefore( ) when a MAJOR UPGRADE is detected in order to execute the processes to completely remove the previous version since the uninstall of the previous version doesn't seem to handle them all.
There are a couple of ways to work around the behavior, but the best method would be to handle the upgrade during installation of the new product.
But even with InstallShield 2018 and a simple InstallScript MSI Project I don't even see OnMaintUIAfter get called during the uninstall of that project, much less any uninstall related feature events. Why even have uninstall feature events defined if they are so unlikely to ever occur?
Hi @JEichenberger ,
I tried in the latest version of Installshield, where I could see the OnMaintUIAfter event is getting called during the uninstall from the Add/Remove program.
So, can you share a sample project through the private message where we could reproduce it . so that the issue can be analyzed and can propose a proper solution.
My primary concerns have not been answered, not even in private messages.
Perhaps 2018 R2 resolves at least one of the minor issues. But the cost to upgrade just to resolve such a thing seems prohibitive.
I think I have figured out what is causing me the most issue as it relates to the uninstall process. Logging gets disabled.
I have been claiming that the uninstalled events for features do not get called, and other such things that happen after "moving data" during an uninstall. But as was pointed out to me once, a MessageBox appears from a feature uninstalled function. Still, it is very difficult to debug an uninstall process if logging is disabled.
So, how do I force logging to be enabled?
Specifically, how do I get SprintfMsiLog to appear in log files for the second half of what actually happens during an uninstall process? Why does logging get disabled in the first place?