https://bugs.winehq.org/show_bug.cgi?id=41269
Bug ID: 41269 Summary: MSI uninstaller does not clean up Registry's UpgradeCode, ProductCode Product: Wine Version: 1.9.17 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: msi Assignee: wine-bugs@winehq.org Reporter: reinhold.hoffmann@hotmail.com Distribution: ---
Created attachment 55569 --> https://bugs.winehq.org/attachment.cgi?id=55569 What needs to be deleted in the Registry when de-installing
When uninstalling an installed Wine app the uninstaller de-installs the app accurately but it does not clean up the UgradeCode and ProductCode in the Registry. In an subsequent installation when the same app (same UpgradeCode, different ProductCode, higher version number) is installed, the MSI option "RemoveExistingProducts" fails. "RemoveExistingProducts" should automatically de-install a former version before the new version is installed. As a consequence always the former version needs to be manually de-install BEFORE the new version otherwise the next installation fails.
In addition the Windows call "MsiEnumRelatedProducts" finds a product which does not exist anymore. De-installing with "MsiConfigureProduct (parameter=ProductCode, INSTALLLEVEL_DEFAULT, INSTALLSTATE_ABSENT)" does not work either.
Because the MSI uninstaller leaves all ProductCodes of former installations in place forever, the Registry get screwed and is not in sync to what really is installed.
This is a big issue for almost every our customer when installing updates or upgrade. Always, the former installation has to be manually de-installed because "RemoveExistingProducts" always fails. We have detected this issue in a deep dive and see this bug to be the biggest issue for our customers for a broader use of our software on Wine. Therefore set this bug to be critical.
Please find attached what needs to be deleted in the Registry when the uninstaller de-installs a software.
The bug happens for Ubuntu, openSuSE, Mac OS X
Reinhold