2

任务:

我有一个 Windows 可执行文件,例如convertvideo.exe. 它是用于特定视频转换的命令行工具。

我希望我的客户能够在任何机器上轻松使用它,而无需安装。用例应该是:客户端访问一个托管 silverlight 应用程序的网页。应用程序告诉客户端按下“将可执行文件放入临时文件夹”按钮。按下时,可执行文件将部署(下载、复制)在客户端计算机上。然后 silverlight 应用程序要求用户提供要转换的文件列表,以及结果文件的路径。用户按下转换,silverlight 应用程序(在客户端计算机上)convertvideo.exe使用提供的参数运行以进行转换。

问题:

Silverlight 应用程序在浏览器中的文件系统访问权限是否可行?

4

1 回答 1

0

如果您想要一个浏览器内的 Silverlight 应用程序,这在 Silverlight 4 中是不可能的。在 Silverlight 5 中它是可能的,但尚未发布。

但是,这可以通过 Silverlight 4 中的浏览器外应用程序来完成。有关如何通过浏览器将浏览器外应用程序交付给用户的提示,请参阅“构建浏览器外应用程序”。“安装”过程只是一个 UAC 对话框,非常小。

当浏览器用完时,您可以将 .exe 捆绑为资源并将其保存到磁盘上的已知位置(但请注意 - SL4 没有对磁盘的完全访问权限,只能访问某些区域,例如“我的文档”或隔离存储)。要运行 .exe,您可以使用 COM:

using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell"))
{
    shell.Run(@"Path\To\Exe\convertvideo.exe arg1 arg2 etc...");
}
于 2011-10-12T13:27:11.260 回答