2010-04-29 72 views
6

如何卸载外的浏览器Silverlight 4的应用程序,而不是使用文本菜单(例如,如果我想替换上下文菜单)?卸载外的浏览器Silverlight应用程序编程

编辑

我在"Installing Silverlight applications without the browser involved"发现如何通过调用命令行卸载:

为 “%ProgramFiles%\微软的Silverlight \ sllauncher.exe”/卸载/产地:Silverlight的

- :.NET /内容/样品/应用/ ...

这可以在使用

有没有更好的解决方案?

+0

我在http://timheuer.com/blog/archive/2010/03/25/如何通过调用命令行卸载: “%ProgramFiles%\ Microsoft Silverlight \ sllauncher.exe” /卸载程序 /origin:http:/ /www.silverlight。net/content/samples/apps/facebookclient/ClientBin/Silverface.xap 这可用于 dynamic cmd = AutomationFactory.CreateObject(“WScript.Shell”); cmd.Run(run,1,true); 是否有更好的解决方案? – 2010-04-29 08:07:24

+0

请使用问题编辑功能来包含其他信息,而不是评论。 – AnthonyWJones 2010-04-29 09:44:55

+3

我很想知道,如何在Mac上做到这一点?天哪......即使在SL的第五版中,一些浏览器内容看起来也很难看。为什么我不能直接从浏览器调用应用程序,如果它已经安装?为什么我不能卸载它(我的意思是在代码中)?为什么CheckAndDownloadUpdateAsync()不总是工作... – Agzam 2011-12-21 21:15:51

回答

1

相当肯定这是不可能的,而不诉诸COM互操作的迈克说,也如果它是一个好主意,因为我的问题:

1)删除卸载选项无疑会惹恼许多用户,并且是不好的做法。 2)你说你正在寻找一个新的上下文菜单?除非这是一个LOB应用程序,否则我会对此保持警惕,因为许多用户不会用于访问Web应用程序中的上下文菜单,这对我而言是很差的HCI。如果它是一个LOB应用程序,那么添加/删除程序将是一个好的解决方案?

+0

你也可能想要一个按钮来安装,另一个卸载(是我的情况)。替换右键菜单对我来说也很有用,为了提供非常先进的东西,但是丢失卸载命令迫使我忘记该解决方案。 – jv42 2011-12-22 15:46:16

1

你提到的这个解决方案仍然是我知道这样做的唯一途径。这是一个很好的接触,因为在卸载之后应用程序仍然会运行,所以在它之后放置一个Application.Current.MainWindow.Close();

马克

0

这里看看我的解决方案:Unable to Uninstall SIlverlight Out Of Browser Application Programatically我使用的代码在它这是由它卸载Silverlight应用程序运行控制台应用程序。 Silverlight将EXE解压为其中一个目录的资源,然后使用类似如下的方法运行它:

using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell")) 
{ 
    shell.Run(@"C:\Users\yourusername\AppData\update.exe xapNameToUninstall"); 
} 
相关问题