Page 1 of 1

Removing from Add/Remove programs list

Posted: Thu May 18, 2006 8:16 am
by smoura
I've the need to remove my installed program from the 'Add/Remove program list' in windows XP.

To do so, I'm removing the registry keys that the installer program sets on the computer:

Code: Select all

~InstallAware Clipboard Data~
~Delete Registry~
~{86EB6115-B735-4FF5-B62F-D27C2218F692}~
~0~
~Installer\\Products\\$PRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{FA0C0C49-59DD-4DDD-A5DE-F25CABCFE9E8}~
~1~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$PRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{06705BB6-4554-408F-A651-990F375C872D}~
~2~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$PRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{97C1165D-912C-47C6-AF23-EE08DD47E25F}~
~1~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$TITLE$~
~~
~TRUE~
~Delete Registry~
~{104CCE2B-E0A7-409F-B20A-6F5B00C4C13E}~
~2~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$TITLE$~
~~
~TRUE~


Though this isn't working correctly: the first 4 keys are indeed eliminated but the last one fails elimination, this is due to the key that's created by the installer, that doesn't correspond to the PRODUCT_CODE variable. I'm wondering what I might be doing wrong:

This is the product code: A6C5BD07-FFA0-4B69-82EE-589584DAB6EA

And this is the key created: HKEY_CLASSES_ROOT\\Installer\\Products\\70DB5C6A0AFF96B428EE855948AD6BAE

Has you can see there are some resemblences with the product code:

A6C5BD07-FFA0-4B69-82EE-589584DAB6EA
70DB5C6A-0AFF-96B4-28EE-855948AD6BAE

Is this some king of safety procedure in the windows installer, or is it implemented by install aware?

I belive that in a previous release (ponderosa) I had this working fine...

Posted: Thu May 18, 2006 1:39 pm
by CandiceJones
You should never delete anything outside of SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\. The key you are referring to is handled internally by Windows Installer and modifying those keys can render your system unusable.

Posted: Thu May 18, 2006 6:13 pm
by smoura
Hum! :? I see!

The problem is that if this key isn't deleted from the registry the application will always appear in the Add/Remove Programs.

Is there any other way to do this using installaware?

Posted: Thu May 18, 2006 9:23 pm
by CandiceJones
No, it won't. Did you try and see?

Posted: Fri May 19, 2006 2:12 am
by smoura
CandiceJones wrote:No, it won't. Did you try and see?


Hum! Of course, otherwise this wouldn't be a problem and I wouldn't be posting it here... :?

Posted: Fri May 19, 2006 9:50 pm
by CandiceJones
That's not normal. InstallAware setups override the built in Control Panel keys that Windows Installer creates, so as to be able to have more control over the uninstall process. These are replaced with InstallAware's own keys, which you are deleting.

Can you reproduce this issue with a plain vanilla InstallAware setup?
What happens when you uninstall the product - does the entry remain?

Posted: Mon May 22, 2006 3:28 am
by smoura
CandiceJones wrote:That's not normal.


The strange thing about this is that I checked this hability of install aware while evaluating several install tools, and I managed to put it to work. I'm now wondering if this could have something to do with Symantec Client Security (will be trying it later on another computer...)

CandiceJones wrote:Can you reproduce this issue with a plain vanilla InstallAware setup?


Well I've indeed reproduced this with a basic install setup wich you can download it here.

TestSetup.zip


And this is what I see in my Add/Remove Programs dialog box, after runing the TestSetup program:

Image

CandiceJones wrote:What happens when you uninstall the product - does the entry remain?


Nop! When I uninstall it it removes the entry.

Posted: Mon May 22, 2006 9:48 am
by CandiceJones
Might be an issue with Symantec. Any place we might obtain more info on that tool?

Posted: Mon May 22, 2006 10:15 am
by smoura
CandiceJones wrote:Might be an issue with Symantec. Any place we might obtain more info on that tool?


Try here: Click

This is getting over my brain! :( can't get the product out without solving this...

Posted: Mon May 22, 2006 10:43 am
by CandiceJones
Try on a clean machine - you will see that it works.

FIX

Posted: Mon Oct 30, 2006 3:02 pm
by EddyP
Hi CandiceJones

I get this same error, so I got fed up and wrote the code to sort it out - The Product code is rearranged in a predefined way, so by doing the same we can work out the strange product key in the same way.

Try the following code (Disclaimer apply for playing with your registry):

~InstallAware Clipboard Data~
~Delete Registry~
~{2A2B65D6-ADD8-498D-BA9B-BBD68B19B7A9}~
~2~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UpgradeCodes\\$SECRETPRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{D0225A7D-01D1-4E08-ABCC-A4B0008D338F}~
~2~
~SOFTWARE\\Classes\\Installer\\UpgradeCodes\\$SECRETPRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{219EE055-894E-469E-9020-03CDE08BF8E2}~
~2~
~SOFTWARE\\Classes\\Installer\\Products\\$SECRETPRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{C4FAB4AF-9D43-45C7-82C1-AD38D67989C1}~
~2~
~SOFTWARE\\Classes\\Installer\\Features\\$SECRETPRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{057F1FDC-28FC-414B-B5B0-279571D3D9EA}~
~0~
~Installer\\UpgradeCodes\\$SECRETPRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{C7099846-E52A-41FF-8606-1F1E022F36E3}~
~0~
~Installer\\Products\\$SECRETPRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{32BBCE6B-DA06-4829-B9E0-82D5D75F61B3}~
~0~
~Installer\\Features\\$SECRETPRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{5C45AB54-B58F-4E8C-A4B3-FCC44C5D0A63}~
~1~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$PRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{37DFD49F-4BCC-417F-B221-2D7871600378}~
~2~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$PRODUCTCODE$~
~~
~TRUE~
~Delete Registry~
~{F0DFAC87-9EC5-4C53-93BA-21527F5793F1}~
~1~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$TITLE$~
~~
~TRUE~
~Delete Registry~
~{91782F2E-C8EE-4649-8A8B-47B8F243F7BB}~
~2~
~SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\$TITLE$~
~~
~TRUE~
~Comment~
~{E6478E4F-EED8-459B-ABD5-EEBCD11C5DE2}~
~ Install/Remove MSI Package $PRODUCTCODE$[REMOVE=ALL] (get result into variable REMOVEOLD)~
~Code Folding Region~
~{44961F36-C40C-4180-986B-333BE4500F2E}~
~FALSE~
~Copy of Copy of Copy of Copy of Copy of Copy of Copy of Copy of ~
~Set Variable~
~{F0E519E8-31F9-4ED2-B507-45244CF30F3F}~
~SECRETPRODUCTCODE$MYAH$MYAH$FALSE~
~$SECRETPRODUCTCODE$$LETTER2$$LETTER1$$LETTER4$$LETTER3$$LETTER6$$LETTER5$$LETTER8$$LETTER7$$LETTER10$$LETTER9$$PCPart5$$LETTER11$~
~Parse String~
~{CDCE4CC1-B372-483E-93FB-1E05BB431B04}~
~$PCPart5$~
~1~
~LETTER11~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{F6CF7438-99E7-423A-A214-E0F466CB1E8D}~
~$PCPart5$~
~1~
~LETTER10~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{2A89D7A2-7D05-41BE-B344-AE2425C09F48}~
~$PCPart5$~
~1~
~LETTER9~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{0DE06AFC-F5BB-409E-AF40-DE73E61556EF}~
~$PCPart5$~
~1~
~LETTER8~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{C6478893-7008-4307-A734-06B51684AA5D}~
~$PCPart5$~
~1~
~LETTER7~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{8B48E909-CDAA-4681-ADD0-8FB1E602AEC1}~
~$PCPart5$~
~1~
~LETTER6~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{313D1402-A0E8-4A19-8791-1E5402AB4E7D}~
~$PCPart5$~
~1~
~LETTER5~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{30C3AF8C-9DF1-4727-BE1F-10F71B1E3F4E}~
~$PCPart5$~
~1~
~LETTER4~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{BBA197AB-5B71-4B3C-B3A6-AF46804DBA7E}~
~$PCPart5$~
~1~
~LETTER3~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{E5C65B62-D28F-4647-A587-445626D0D1BB}~
~$PCPart5$~
~1~
~LETTER2~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Parse String~
~{4AD98866-0670-4B64-B77D-004C28AFD92B}~
~$PCPart5$~
~1~
~LETTER1~
~PCPart5~
~2~
~FALSE~
~FALSE~
~Set Variable~
~{A803154B-1AF1-4A4F-B95D-5B053228CF4E}~
~SECRETPRODUCTCODE$MYAH$MYAH$FALSE~
~$SECRETPRODUCTCODE$$LETTER2$$LETTER1$$PCPart4$$LETTER3$~
~Parse String~
~{6D9721D2-BB8A-4528-B5E9-3CFC1FC044CD}~
~$PCPart4$~
~1~
~LETTER3~
~PCPart4~
~2~
~FALSE~
~FALSE~
~Parse String~
~{F1B3390E-54FE-44E0-A3C5-FC47A2F56431}~
~$PCPart4$~
~1~
~LETTER2~
~PCPart4~
~2~
~FALSE~
~FALSE~
~Parse String~
~{6118B961-76E1-4F45-A267-28A75761F829}~
~$PCPart4$~
~1~
~LETTER1~
~PCPart4~
~2~
~FALSE~
~FALSE~
~Set Variable~
~{8B94DD9E-A84B-4DE9-AB07-247F55096ABE}~
~SECRETPRODUCTCODE$MYAH$MYAH$FALSE~
~$SECRETPRODUCTCODE$$PCPart3$$LETTER3$$LETTER2$$LETTER1$~
~Parse String~
~{0FF9211D-584D-4C32-8A41-F75D94EF7357}~
~$PCPart3$~
~1~
~LETTER3~
~PCPart3~
~2~
~FALSE~
~FALSE~
~Parse String~
~{D1C59CDE-A9A3-4405-A11B-C46F43029FCE}~
~$PCPart3$~
~1~
~LETTER2~
~PCPart3~
~2~
~FALSE~
~FALSE~
~Parse String~
~{E1D684D8-9528-48D0-B00F-9C8CD28870EF}~
~$PCPart3$~
~1~
~LETTER1~
~PCPart3~
~2~
~FALSE~
~FALSE~
~Set Variable~
~{CBB9B09E-781E-4F1B-AF16-CA049F1EDE0D}~
~SECRETPRODUCTCODE$MYAH$MYAH$FALSE~
~$SECRETPRODUCTCODE$$PCPart2$$LETTER3$$LETTER2$$LETTER1$~
~Parse String~
~{D28799C7-1416-4260-8FA1-9403893BE5EF}~
~$PCPart2$~
~1~
~LETTER3~
~PCPart2~
~2~
~FALSE~
~FALSE~
~Parse String~
~{72BFC786-65EB-4B0E-96A7-A2D99879175B}~
~$PCPart2$~
~1~
~LETTER2~
~PCPart2~
~2~
~FALSE~
~FALSE~
~Parse String~
~{3584B591-49D0-42EA-8534-FA9EA441D4A8}~
~$PCPart2$~
~1~
~LETTER1~
~PCPart2~
~2~
~FALSE~
~FALSE~
~Set Variable~
~{74AB641A-0F7F-4940-8BEB-442D1FF05480}~
~SECRETPRODUCTCODE$MYAH$MYAH$FALSE~
~$PCPart1$$LETTER7$$LETTER6$$LETTER5$$LETTER4$$LETTER3$$LETTER2$$LETTER1$~
~Parse String~
~{E643A314-67AB-4EFE-9FD2-C1EB4D7BCA77}~
~$PCPart1$~
~1~
~LETTER7~
~PCPart1~
~2~
~FALSE~
~FALSE~
~Parse String~
~{CC5DC7CA-AF28-47BE-9673-EB9D11260866}~
~$PCPart1$~
~1~
~LETTER6~
~PCPart1~
~2~
~FALSE~
~FALSE~
~Parse String~
~{48AAD82B-538E-4512-A592-8A6F49B5097D}~
~$PCPart1$~
~1~
~LETTER5~
~PCPart1~
~2~
~FALSE~
~FALSE~
~Parse String~
~{7050B7F7-392F-4117-AA3C-5B5C58C998E7}~
~$PCPart1$~
~1~
~LETTER4~
~PCPart1~
~2~
~FALSE~
~FALSE~
~Parse String~
~{53FD7F1F-525A-4966-93C8-F4AD77D5E0A7}~
~$PCPart1$~
~1~
~LETTER3~
~PCPart1~
~2~
~FALSE~
~FALSE~
~Parse String~
~{9D0D93D4-2AD6-49B3-82EA-8F7BB6919A68}~
~$PCPart1$~
~1~
~LETTER2~
~PCPart1~
~2~
~FALSE~
~FALSE~
~Parse String~
~{48999DC8-AAD6-453E-A4E7-74F7370F5792}~
~$PCPart1$~
~1~
~LETTER1~
~PCPart1~
~2~
~FALSE~
~FALSE~
~Set Variable~
~{67C245AD-1053-4356-9D56-AFF333DA0C72}~
~LETTER11$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{9B0CB1F3-F257-4B1D-A8AF-93D8C382ECAD}~
~LETTER10$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{C5648592-2A7C-4DBF-9AB0-F1AE96558B8C}~
~LETTER9$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{692594FD-E955-439A-B347-52044E922058}~
~LETTER8$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{388D93A5-B001-4EAA-80B4-62B2A7C6673B}~
~LETTER7$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{7B245E42-7926-4782-B21C-775EB9D08E98}~
~LETTER6$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{B5096AAE-C86D-4ED5-B724-A754995FBB98}~
~LETTER5$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{B6AE6E22-8CB2-4002-BEA8-B3A129732713}~
~LETTER4$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{A25D942C-6BA2-4576-8BDB-BD519EE2F008}~
~LETTER3$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{0E03AE8E-6857-4B52-8C88-4D14BD904C4C}~
~LETTER2$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{CB1CCD35-1CF8-4983-A74F-981AE5BB4821}~
~LETTER1$MYAH$MYAH$FALSE~
~~
~Parse String~
~{164A49DD-9E54-4C44-9082-9FB62FE882C5}~
~$PCPart4$~
~-~
~PCPart4~
~PCPart5~
~0~
~FALSE~
~FALSE~
~Parse String~
~{82ABC4E3-7C3F-49A4-93A9-6437BA7696E5}~
~$PCPart3$~
~-~
~PCPart3~
~PCPart4~
~0~
~FALSE~
~FALSE~
~Parse String~
~{C3F391F9-813A-494B-9958-FBF896C8D7FB}~
~$PCPart2$~
~-~
~PCPart2~
~PCPart3~
~0~
~FALSE~
~FALSE~
~Parse String~
~{D88C057A-348A-464D-9890-F4EB61BE4E39}~
~$SECRETPRODUCTCODE$~
~-~
~PCPart1~
~PCPart2~
~0~
~FALSE~
~FALSE~
~Set Variable~
~{CB16D104-A3FB-460F-A6C1-332CF1B8D571}~
~PCPart5$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{0BC2E4B1-92DD-4E70-A97E-12460FD25A6A}~
~PCPart4$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{E50B0B64-85D4-40B7-900C-5F0DFB52C71B}~
~PCPart3$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{D1176EA1-9464-4360-B870-ECA3B50415F8}~
~PCPart2$MYAH$MYAH$FALSE~
~~
~Set Variable~
~{FA80BEDA-EFDE-4977-809A-283B4226EEC8}~
~PCPart1$MYAH$MYAH$FALSE~
~~
~Replace String~
~{86485C46-C3D0-45B8-81C3-8037F9482489}~
~SECRETPRODUCTCODE~
~}~
~~
~TRUE~
~TRUE~
~Replace String~
~{EA5F31E3-4F58-46CA-B9E0-CE1896696A93}~
~SECRETPRODUCTCODE~
~{~
~~
~TRUE~
~TRUE~
~Set Variable~
~{2F18A234-1F86-4A15-BBA1-C0FCBF890E1D}~
~SECRETPRODUCTCODE$MYAH$MYAH$FALSE~
~$PRODUCTCODE$~
~Comment~
~{36F86C90-29A4-4774-A68D-A5AE78B9DCA8}~
~Manually calculate the SECRET PRODUCT KEY~
~Code Folding Region~
~{0BC5CDEC-C00E-4FED-BF15-B6828585F920}~
~TRUE~
~Calculate the SECRET PRODUCT KEY~