1
votes

I have two MSI installation packages (done using WiX), a.msi and b.msi which are bootstrapped into one EXe file using Inno Setup resulting in c.exe. In the Add/Remove programs only a.msi is listed.

The problem is when the user removes a.msi from Add/Remove programs I have a custom action in WiX which is triggered that calls b.msi to uninstall. Now b.msi will fail to uninstall because a.msi is in the process of uninstalling and Windows will not let two instances of uninstallers run in parallel.

What I wanted to ask is, can I set the Add/Remove programs to call the c.exe bootstrapper such that I can remove both a.msi and b.msi?

Note: b.msi is coming from an external source, and I cannot change it.

1
Side issue: If b.msi comes from an external source, are you sure that the user doesn't have another need for it? If you use a WiX Bootstrapper (aka burn), you can mark b.msi as permanent (as far as the bootstrapper is concerned). Anyway, with a WiX Bootstrapper, you have independent control over the bootstrapper, a.msi and b.msi appearing in Add/Remove programs.Tom Blodget
because b.msi will check the registry to see if anyone else is using it, if no it wil uninstall.Noel

1 Answers

1
votes

An installer made in Inno Setup automatically adds itself to Add/Remove programs.

If you do not have it there, you had to explicitly disable that using Uninstallable=no directive. Just enable it.


Regarding how to uninstall .msi from Inno Setup uninstaller, see:
Uninstall an MSI during during Inno Setup uninstall