views:

362

answers:

4

How to uninstall out-of-browser silverlight 4 application programmatically instead of using the contextmenu (e.g. if I want to replace the context menu)?

Edit

I have found in "Installing Silverlight applications without the browser involved" how to uninstall by calling the command-line:

"%ProgramFiles%\Microsoft Silverlight\sllauncher.exe" /uninstall /origin:silverlight.net/content/samples/apps/…

This can be used in:-

 dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");
 cmd.Run(run, 1, true);

Is there any better solution?

A: 

Hi,

I'm not sure you can do this programmatically.

One option is to get the user to use Add/Remove programs to remove it.

Another is to use the silent installation option to remove it ( link - http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2010/03/24/silverlight-4-rc-and-the-silent-installation.aspx ) but that involves COM interop calls.

Mike.

Mike
A: 

The solution you mentioned is still the only way I know to do it. It's a nice touch put a Application.Current.MainWindow.Close(); after it though as the application will still be running after you do the uninstall.

Marc

marcnicol
A: 

Pretty certain this isn't possible without resorting to COM interop as Mike says, also I'd question if it's a good idea since:

1) Removing the uninstall option will no doubt annoy many users and is bad practice. 2) You say you are looking to implement a new context menu? Unless this is a LOB application I'd be wary of this as many users won't be used to accessing context menus in a web app which to me is poor HCI. If it is a LOB application then Add/remove programs would be an OK solution?

Sidebp
A: 

This isn't an answer, but it's related to your issue. On the official Silverlight wishlist, I added the ability to do this quite some time ago. Luckily, quite few users agree. With enough votes, hopefully it will appear in a future version of Silverlight.

http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/410706-greater-control-over-installation-in-oob

MutantNinjaCodeMonkey