任务:
我有一个Windows可执行文件,例如convertvideo.exe
。它是用于特定视频转换的命令行工具。
我希望我的客户能够在任何机器上轻松使用它,无需安装。用例应该是:客户端进入一个托管Silverlight应用程序的网页。应用程序告诉客户端按“将可执行文件放入临时文件夹”按钮。按下时,可执行文件在客户端计算机上部署(下载,复制)。然后silverlight应用程序要求用户提供要转换的文件列表,以及结果文件的路径。用户按下转换,Silverlight应用程序(在客户端计算机上)使用提供的参数运行convertvideo.exe
以进行转换。
问题:
这是否可以使用文件系统访问权限,Silverlight应用程序是否在浏览器中?
答案 0 :(得分:0)
如果你想要一个浏览器内的Silverlight应用程序,这在Silverlight 4中是不可能的。它可以在浏览器中使用Silverlight 5,但尚未发布。
但是,可以使用Silverlight 4中的浏览器外应用程序完成此操作。有关如何通过浏览器向用户提供浏览器外应用程序的提示,请参阅“Building an Out-ofBrowser Application”。 “安装”过程只是一个UAC对话框,非常简单。
当浏览器用尽时,您可以将.exe捆绑为资源并将其保存到磁盘上的已知位置(但请注意 - SL4没有对磁盘的完全访问权限,仅限于某些区域,例如“我的文件“或隔离存储”。要运行.exe,您可以使用COM:
using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell"))
{
shell.Run(@"Path\To\Exe\convertvideo.exe arg1 arg2 etc...");
}