【问题标题】:How can I execute an EXE file in asp.net website?如何在 asp.net 网站中执行 EXE 文件?
【发布时间】:2016-11-02 03:30:05
【问题描述】:

我有一个带有 VB 的 asp.net 网站,并且我有一个安装在 PC 中的医疗程序的链接,当我单击该链接时,我想为该程序执行 .exe。我找到了这段代码,但它仅在我的项目在本地时才有效:

 System.Diagnostics.Process.Start("C:\Windows\System32\MiProgram.exe")

我也试过这段代码:

 Dim OpenDoc As ProcessStartInfo = New ProcessStartInfo
 Dim stPath As String = "C:\Windows\System32\MiProgram.exe"
 OpenDoc.FileName = stPath
 OpenDoc.Verb = "open"
 OpenDoc.WindowStyle = ProcessWindowStyle.Normal
 Process.Start(OpenDoc)

两个代码都可以在本地工作,但是当我将项目放到网络上时,什么都不做

我还读到我可以启用 de IIS 服务,我按照this page 的步骤操作,但对我不习惯。
这个问题有解决办法吗?

我接受建议。 谢谢。

【问题讨论】:

  • 好像是配股,这篇文章可能对你有帮助。
  • 如果用户在浏览器上单击 EXE 文件,您将无法启动它。这是一种安全措施。所有浏览器都会阻止它,即使在今天没有大量警告的情况下下载也并非总是可行的。
  • 抱歉没有添加帖子链接,这里是stackoverflow.com/questions/13658555/…
  • 您的代码将在服务器上运行程序,而不是在客户端上。这就是它在本地“工作”的原因。
  • @Stanley ,我知道这是一种安全措施,但我认为客户端电脑有什么办法可以打开链接,这台电脑只是执行这个程序,不会用于上网或使用其他工具的计算机

标签: asp.net vb.net exe


【解决方案1】:

很遗憾,无法从服务器端在客户端上运行程序。 已经有一些讨论,这里有一些链接:

How to execute an application on the client from a website?

Run an exe in client machine from a website

Executing exe on client side using C#

【讨论】:

    【解决方案2】:

    您可以通过变通方法来做到这一点..

    您创建了一个正在运行的 Windows 窗体应用程序,在该应用程序上托管 wcf 服务,检查此 link 作为示例。

    公开一个类似 `RunApplication' 的方法,将相同的代码放入它们的代码中,您可以从您的网站调用它,这将 100% 有效。

    【讨论】:

    • 感谢您的回答,您还有其他例子可以证明这一点吗?谢谢
    • @Esraa_92 已经包含一个示例代码,对于您的页面(根据此示例),您将使用 ajax localhost:8080/MyWcfService 调用
    【解决方案3】:

    您可以通过实施此设置来尝试:

    在 IIS 7/8 中转到控制面板/程序和功能/打开 Windows 打开或关闭功能,并检查以下所有项目:Web 管理工具, (包括:IIS管理服务、II 6管理兼容性)

    【讨论】:

    • 感谢您的贡献 我以前这样做过,但不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2013-11-29
    • 2011-06-23
    • 2011-01-15
    • 2023-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多