Quantcast

Override Current state of an msi in Custom bootstrapper to support uninstall

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Override Current state of an msi in Custom bootstrapper to support uninstall

veena jayan
This post has NOT been accepted by the mailing list yet.
We have a bootstrapper bundle which chains 3 individual application msi. Bootstrapper custom UI allows user to choose which application to install And based on the selection custom bootstrapper will install its msi. Now consider the scenario. Application, say A1 version 1.0.0.50 is installed in the system. Assume bootstrapper version is also 1.0.0.50 Assume next version of bootstrapper installer with some updates is available, Assume its version is 1.0.0.51. Using this newer version I am able to upgrade A1. But it's failing with another usecase. We have a requirement that we should be able to just uninstall A1 usiing the newer version of installer 1.0.0.51 But in this case Bootstrapper Engine is not detecting msi package current state as Present Here is the excerpt from log Detected related package: {92482FD1-38EE-474E-B4C0-32C8FBDF9C0B}, scope: PerMachine, version: 1.1.0.329, language: 0 operation: MajorUpgrade [29F0:04E0][2016-08-26T10:50:11]i000: In OnDetectRelatedMsiPackage event parameterss are : CCAdmin and result is None Planned package: CCAdmin, state: Absent, default requested: Absent, ba requested: Absent, execute: None, rollback: None, cache: No, uncache: No, dependency: Unregister So when I call Engine.Apply, it does not uninstall the msi. I could see ApplyBegin and Apply complete event handler methods are invoke. But not ExecutePackageBegin, ExecutePackageInprogress etc.. Is there a way can I override msi package currennt state as Present and Request state as absent so that Engine will set execute action as Uninstall I tried setting the in memory package state as Present and Requeste state as absent. But still in the logs I can see State: Absent and Execute: None. Also let me know is there a way to uninstall msi using a different version of its installer(custom bootstrapper)
Loading...