Hi,
1. Created a new installer that does not have the custom action running on uninstall. Verified that this installer can install and then be uninstalled without having to be at the same install location.
Did you create another project or just modified the project related to the old version of your product? Please note that you should use the old version's project. Also, it is recommended to only set a false condition for the custom action not to remove it (you can just uncheck the "Uninstall" option from the "Execution Stage Condition" section).
The other steps you mentioned are correct.
As an alternative approach, since I don't _NEED_ the old uninstallers to work, and the new installer is a complete replacement, I am seriously considering adding a simple custom action to remove the old product from the Windows installer registry by deleting the following registry keys:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\[product_code]
HKCR\Installer\Products\[unknown_product_guid]
This _seems_ to work, at least on Windows 7.
Can you please comment on this solution?
The "patch" solution is recommended and it should work, however if you test the above solution on multiple machines and it works you can use it.
I'm not sure where the "unknown_product_guid" comes from. It does not appear to be the same as the "product_code" that I see in the installer under the "Product IDs" tab.
That "unknows_product_guid" is the "ProductCode" of the application computed as detailed in the
Packed GUID's article.
Best regards,
Eusebiu