从另一个 Silverlight 应用程序中安装 Silverlight OOB 应用程序
我有一个可以在浏览器中运行的大型 LOB Silverlight 应用程序,现在我需要使用提升的权限执行某些操作,因此我需要安装 OOB。但我不想安装整个应用程序及其所有复杂性和假设 - 我想要一个小的独立的 Silverlight 应用程序,我可以从主应用程序中安装它。关于如何将一个 Silverlight 应用程序合并为能够在另一个 Silverlight 应用程序中以 OOB 安装的方式,有什么想法吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个解释看起来很像电影《盗梦空间:Silverlight 中的 Silverlight》。
首先,即使使用受信任的浏览器外的 Silverlight 4 应用程序,您也有 对文件系统的限制使得无法执行 sllauncher(运行 oob 应用程序的程序也可以在命令行中使用来卸载/安装它们)来进行安装,但是您还可以探索其他两种可能性:
将 WebBrowser 类嵌入您的浏览器外应用程序中,并将其指向具有可安装的浏览器外应用程序的网站。我尝试过,它确实有效。请记住,您只能提示他们从第二个网站安装应用程序;无法通过网络强制用户安装。
您可能可以使用 COM API 来执行 sllauncher,同时将其指向通过普通 Silverlight API 下载的 XAP 文件。不过,要完成其中的 COM 部分,需要一个受信任的签名应用程序。我想不出一个可以立即启动 sllauncher 的 COM 对象,所以这可能是一个在其他地方问的好问题。我还没有尝试过这种方法。
This explanation is going to seem a lot like the movie Inception: a Silverlight within a Silverlight.
First of all, even with a trusted Silverlight 4 out of browser application you have restrictions around the file system that make executing the sllauncher (the program that runs your oob apps can also be used at the command line to uninstall/install them) to do an install impossible, but there are two other possibilities you could explore:
Embed the WebBrowser class in your out-of-browser app and point it to a website with an installable out of browser app. I tried this and it in fact works. Remember that you will only be able to prompt them to install the app from the second website; there is no way to force an install on a user through the web.
There may be a COM API you could use to execute sllauncher while pointing it at a XAP file you download through normal Silverlight APIs. To do the COM part of this would require a trusted signed app though. I cannot think of a COM object to launch sllauncher off hand though so that may be a good question to ask eleswhere. I have not tried this approach.