如何从网站上执行客户端上的应用程序?

我在ASP.NET / C#中有一个位于服务器上的应用程序,我的问题是如何运行另一个应用程序(.exe)但是在访问该网站的客户端(服务器上的应用程序)

(client)------------(server) run browser website and (asp.net/c#) **execute instruction app.exe** for execute app.exe 

我开发了ext.net,一个使用asp.net + c#的软件,这是一个在powerbuilder中制造的旧软件的更新版本(v2是新软件,v1是powerbuilder)。 V2没有包含在V1上的所有function,因此在执行V2之后,我必须执行V1。 因此,如果用户在浏览器上使用V2,我应该能够打开V1(V2位于服务器中,V1安装在客户端。由于客户端打开浏览器连接到V2)。

*用谷歌翻译

desarrolléunsoftware en ext.net(asp + c#)el cual es una version actualizada de otro software anterior hecho en PowerBuilder(losllamarév2y v1 respectivamente)。 来自razones de tiempo,el software V2 no tiene todas las funcionalidades de V1,por lo cual,al finalizar el procedimiento con V2 se debe abrir V1。 Vale decir,estando en el browser usando V2 debiera poder abrir V1(.exe)

不幸的是,由于安全原因,这是不可能的。 如果有可能,黑客可能会在客户端机器上造成严重破坏。 但是,您可能可以使用ActiveX在较旧的IE版本上。 这可能需要将安全设置降至最低。 这是任何方式的链接:

http://www.governmentsecurity.org/forum/index.php?showtopic=23488

应用程序的目的是什么,单击一次可能是一个解决方案。

http://msdn.microsoft.com/en-us/library/t71a733d(v=vs.80).aspx

您无法直接从浏览器执行代码这一事实并非偶然,它是一个很棒的安全function。

您可以在这个方向上做的唯一事情是提供应用程序的链接,以便用户可以决定单击它,下载文件并在本地执行。

显然,Sys Internals 会这样做 ,请点击此处: Windows SysInternals

但事实上,他们的实时服务只是为您提供了此页面的链接: http : //live.sysinternals.com/然后您可以从本地下载和执行。

我们需要有关您的exe需要做什么的更多详细信息,因为它会影响您使用的技术,但正确的方法是做您想做的事情:

  1. 使用ActiveX。 让用户安装一次ActiveX控件,然后就可以运行它了。 ActiveX基本上是为您在客户端计算机上运行DLL。 有一些沙盒限制,它不再受欢迎,因为它只是IE浏览器和越来越大的互联网%不使用IE浏览器。
  2. 使用Silverlight。 这将更容易编程,并将更像您熟悉的。 但是(我认为)它比ActiveX具有更多的沙箱限制,但它支持跨浏览器和跨平台。

Microsoft All-In-One代码框架包含ActiveX和Silverlight的示例。 我建议尝试一体化示例浏览器,它的边缘有点粗糙,但它有效。 还有VS2010扩展,但它不适用于VS2010的快速版本或VS2008。

有关如何为网页设置ActiveX的简单示例,请参阅示例HTMLEmbedActiveX 。 我不知道具体的银光示例指向您。

请在主帖中提供您在客户端实际尝试的更多详细信息,我可以告诉您其中一种方法是否有效。

@Scott Chamberlain:这就是我能够解释原始问题的方式:

我在服务器上运行的ASP.NET / C#中有一个应用程序。 我想要的是运行其他应用程序(.EXE),但在访问相关服务器的客户端上

 (client)------------(server) run browser website and (asp.net/c#) **execute instruction app.exe** for execute app.exe 

该应用程序是在EXT.NET(ASP + C#)中开发的,它是PowerBuilder中内置的另一个旧应用程序的更新版本。 (让我们分别称它们为V2v1 )。

目前,V2具有V1的所有function,因此在程序结束时应打开V1和V2。 也就是说,在使用V1和V2的浏览器中应该能够在客户端上打开.EXE。

我完全无法理解最后一段

如果将V1应用程序定义为URL处理程序,则可以从任何最近的Web浏览器中调用它。 不需要ActiveX!

这很完美。 我将它用于从Web应用程序到正在运行的PB win32应用程序的app-to-app链接。 我有一个单独的PB win32应用程序充当URL处理程序。 URL处理程序查找正在运行的应用程序。 如果它找到正在运行的应用程序,它会向该主应用程序发送一个事件 它不会启动主应用程序从网站发送命令作为命令行参数。 完美的作品!