4

I am using a Visual Studio Setup Project for deployment. This may sound like a no-no but I have a specific requirement for the uninstaller not to register in the Add/Remove Programs. Is there something I can do to prevent Setup from registering its uninstaller?

I am even prepared for an Orca-based solution if there is nothing better out there.

wpfwannabe
  • 14,587
  • 16
  • 78
  • 129

1 Answers1

7

There are two approaches for this:

  1. Set ARPSYSTEMCOMPONENT property to 1. This way your product is not displayed in Control Panel. It is still however registered with Windows Installer.

  2. Remove PublishFeatures, PublishProduct, RegisterProduct and RegisterUser actions from InstallExecuteSequence table. This way your product is not registered with Windows Installer, so it won't be shown in Control Panel.

If your product is not registered with Windows Installer, you cannot repair or uninstall it. So I recommend using ARPSYSTEMCOMPONENT.

Cosmin
  • 21,216
  • 5
  • 45
  • 60
  • Great! Thanks a lot! I do want the product to be repairable and uninstallable, I just do not want it in the Add/Remove Programs. Can you please expand your answer on how to specifically use `ARPSYSTEMCOMPONENT`? I have followed the link but I am not sure exactly what to do. Does this involve using `Orca` or can I apply this in VS? – wpfwannabe Dec 04 '11 at 19:32
  • 1
    Ok, I have found [this post](http://stackoverflow.com/questions/463030/hide-the-uninstaller-in-add-remove-programs) which proposes a post-build step to add ARPSYSTEMCOMPONENT property to MSI. Instead of VBS I have created a small console app that does the same. Thanks! – wpfwannabe Dec 04 '11 at 21:41