We want to have an installer A which must :
- Remove another product B (we know its product guid)
- redistribute MFC 2008, 2010 and 2012
- write registry entries in HKLM
B is installed per-user. Since in our current implementation A redistributes MFC using merge modules, it installs per-machine. Therefore MajorUpgrade with same upgrade code doesn't work. We also tried running the script "msiexec /x {PRODUCT GUID OF B} /q" as a custom action during installation of A, but Windows has a mutex (_MSIExecute) that allows only one execute sequence per machine; therefore this idea doesn't work too.
Our ideas are now :
- redistribute MFC using another way than merge modules, and install A per-user (even if it writes in HKLM, yes I know it's bad practice, but it is simple to implement)
- implement the installer of A as a bootstrapper/chainer (and therefore the installer of A will be a file like setup.exe) and run the uninstall command after execution of MSI
What are you suggestions ?