cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Shuttledude
Level 7

How to avoid entry in Add/Remove Programs?

I want to create an installation with InstallShield 2009 (doesn't matter whether it's basic msi or installscript msi) which only serves the purpose of installing a prerequisite -- it has no program files of its own. So, I do not want to make an entry in Add/Remove Programs, and I won't need maintenance.

I know that I can disable buttons in an Add/Remove Programs entry, but how may I entirely avoid making the entry? I suppose I could add script to delete the registry keys right after they're created, but it would be best to avoid creating them in the first place.

Any ideas?
Labels (1)
0 Kudos
(11) Replies
MattQVI
Level 8

Do you create the prerequisite install? Or is it a third party? If you create it, then you should be able to set options like you mentioned. If it's a third party, I don't know how willing they would be to create a package that does not show up in Add/Remove programs. Good luck.
0 Kudos
Shuttledude
Level 7

It's not the prerequisite I'm worried about, it's the InstallShield setup.exe program that installs it. What I mean is, say I create an InstallShield project called "dummy.ism" that installs the prerequisite -- I'm trying to avoid an entry in Add/Remove Programs for the "dummy" app itself; its only purpose was to install the prerequisite.
0 Kudos
RobertDickau
Flexera Alumni

Perhaps remove or condition out the actions RegisterProduct, RegisterUser, PublishProduct, and PublishFeatures (the ICE82 help is a good cheat sheet).
0 Kudos
ChandanOmkar
Level 8

It can be easily achieved through installscript. Just delete the following registry key before finishing the installation :

HKLM\Software\Microsoft\Windows\current version\uninstall\< Your Product GUID>

Deleting this entry will remove the ARP entry.
0 Kudos
HenryL
Level 5

Actually you can find the answer on msdn:
http://msdn.microsoft.com/en-us/library/aa367519(VS.85).aspx

However you need to pay attention to use the property ARPSYSTEMCOMPONENT, which you can find the details in following blogs:

http://blogs.msdn.com/heaths/archive/2005/08/05/the-dangers-of-arpsystemcomponent.aspx

http://blogs.msdn.com/heaths/archive/2005/08/16/a-reason-for-arpsystemcomponent.aspx
0 Kudos
J_anitha
Level 8

If you are using InstallScriptMSI project, make sure that you delete "InstallScript_" subkey under the uninstall key.

Regards,
Anitha
0 Kudos
Not applicable

Setting ARPSYSTEMCOMPONENT property to 1 will make the application invisible in add/remove
0 Kudos
MattQVI
Level 8

Can you set that on a prerequisite as well? Typically, if I don't want one of my components or an application to show up in the Add/Remove Programs I set this value to 1. My prerequisites are third party installs that probably don't have this set. I am curious to see if the prerequisite has the ability to set this value. Thanks for the info!
0 Kudos
Not applicable

What kind of prerequisites are you using? For all .msi, Using IS direct edit you can change the property table to set ARPSYSTEMCOMPONENT.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Generally it's better to pass that in on the command-line. If it's a raw MSI, you can just add ARPSYSTEMCOMPONENT=1 to whatever command-line parameters you are passing. If it's an InstallShield-built MSI invoked from setup.exe, you can add /v"ARPSYSTEMCOMPONENT=1" or similar. However if it's not an MSI based install, or uses different technology, the paramater may be different or unavailable.
0 Kudos
Shuttledude
Level 7

Thanks for all the great responses.
0 Kudos