使用Silverlight启动本地应用程序

时间:2010-01-18 18:38:53

标签: silverlight localization local launch

我想知道是否有任何方法可以使用silverlight启动本地应用程序。使用嵌入在IE 8中的用户控件,我遇到了一些安全问题,所以我想将其转换为silverlight应用程序。这个小问题阻止我继续使用silverlight,所以如果有任何建议,我会很感激听到它。

提前致谢..

卡洛斯。

5 个答案:

答案 0 :(得分:1)

这将完全使Silverlight安全模型无效。所以,祝你好运。很确定你不能这样做。这正式被称为“坏事”。

我从侏罗纪公园学到的东西:仅仅因为你能做某事并不意味着你应该做点什么。

答案 1 :(得分:1)

理论上,这可能是在SL4中使用COM与Silverlight OOB互操作,但是你仍然会遇到相同的安全问题,此外还会增加一些部署问题。

为了直接从IE中执行此操作,您需要创建一个以适当的安全权限安装的加载项。任何“自动”模型都会违反标准的IE安全策略,因此没有直接的方式从浏览器 - >本地系统获取。

答案 2 :(得分:1)

使用Silverlight 4绝对可以获得“Out of Browser”支持。但是,为了访问“Host”计算机上的应用程序,您需要做的是认证SL4应用程序是可信任的。

这将涉及获取证书。这可以从CA(或类似的Internet应用程序)获得,或者您可以为Intranet使用生成自己的证书,并让用户只需安装它或通过另一个自动sys管理风格过程安装它。

最重要的是,当SL4应用程序运行OOB并且它是受信任的时,它可以访问主机上的任何内容;一点。

即使您可以访问文件等,仍然无法直接调用该应用程序。除非它作为COM对象安装。

因此,您需要做的是使用“脚本”主机COM对象调用应用程序。您创建对脚本主机的引用,然后只需传入将调用该应用程序的命令(以及您喜欢的参数)。

嘿,你打破了墙: - )

应该注意的是,使用仍然只能在他们当前允许的机器上运行应用程序。因此,您将无法在受限制的用户上调用管理工具。

详情请见此处 http://msdn.microsoft.com/en-us/library/dd550721(VS.95).aspx

答案 3 :(得分:0)

在我看来,您应该发布一个关于您已经拥有的用户控件的开发的问题。最终,无论您使用何种技术,您都需要让用户手动选择加入。由浏览器托管的Silverlight旨在生活在它无法摆脱的漂亮而安全的沙箱中。在这种情况下,这不是你问题的答案。

答案 4 :(得分:0)

您的Silverlight应用程序应该是受信任的应用程序,因为它在浏览器上运行。

如果要在本地计算机中启动应用程序,请使用以下代码:

AutomationFactory.CreateObject("WScript.Shell").Run(FilePath);

使用命名空间System.Runtime.InteropServices.Automation

相关问题