Does anybody know how I can determine programmatically whether my app was installed using the compressed .exe or if it was installed using an MSI created by the Group Policy Wizard?
I'm having trouble removing the previous version during an upgrade if it was installed using the GP MSI, because it looks like the add/remove programs information for my product is different if I install using an MSI created with the Group Policy Wizard than if I install using the compressed setup EXE. This is because the ARP registry information is different between the two.
If I install using the EXE, I get two registry keys full of info:
Code: Select all
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$TITLE$
and
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$PRODUCTCODE$When performing an upgrade, I read the value
Code: Select all
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$PRODUCTCODE$\\UninstallStringCode: Select all
Run Program $OLDINSTALLER$ /s REMOVE=TRUE MODIFY=FALSE REPAIR=FALSE (WAIT)Code: Select all
HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{SOME-GUID-THAT-HAS-NOTHING-APPARENT-TO-DO-WITH-MY-PROJECT}I guess the simple way of summing all this up with by asking, "How can I programmatically uninstall my application if it was installed using a Group Policy MSI?"
Thanks for reading!

