使用Silverlight交付依赖桌面的应用程序

使用Silverlight交付依赖桌面的应用程序,silverlight,browser-security,Silverlight,Browser Security,任务: 我有一个Windows可执行文件,例如,convertvideo.exe。它是用于特定视频转换的命令行工具 我希望我的客户能够轻松地在任何机器上使用它,而无需安装。用例应该是:客户机转到承载silverlight应用程序的web页面。应用程序告诉客户端按“将可执行文件放入临时文件夹”按钮。按下时,可执行文件将部署(下载、复制)到客户端计算机上。然后silverlight应用程序要求用户提供要转换的文件列表,以及结果文件的路径。用户按下convert,silverlight应用程序(在客户

任务:

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

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

问题:


Silverlight应用程序在浏览器中具有文件系统访问权限,这是否可能

如果您想在浏览器中使用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...");
}

如果您想要浏览器内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...");
}

我想要一个浏览器内解决方案。SL5有什么特别的地方可以让我在浏览器中完成?为了了解SL5中的这一特定功能,我应该通过谷歌搜索什么关键字?进行COM互操作(基本上允许执行上述示例中概述的任意代码)的能力需要提高信任度,这仅适用于SL4中的OOB应用程序。在SL5中,浏览器内应用程序也可以使用提升的信任。请参见我想要一个浏览器内解决方案。SL5有什么特别的地方可以让我在浏览器中完成?为了了解SL5中的这一特定功能,我应该通过谷歌搜索什么关键字?进行COM互操作(基本上允许执行上述示例中概述的任意代码)的能力需要提高信任度,这仅适用于SL4中的OOB应用程序。在SL5中,浏览器内应用程序也可以使用提升的信任。看见