好的,所以我知道你通常不希望人们能够从服务器执行程序,但这就是我想做的事情。如果我在本地计算机上安装了这个程序,那么我就可以执行该程序了。当我从本地客户端计算机运行时(使用VS 2010)。如果我尝试从服务器运行它,我得到一个"系统找不到文件"错误。以下是从本地客户端计算机运行时可以运行的代码:
Protected Sub BeginTutorial(sender As Object, e As System.EventArgs) Handles Button1.Click
Dim psi As New ProcessStartInfo()
psi.FileName = "C:\Program Files\Savvy Training Tutorials\Word 2010\Savvy's Word 2010 Tutorial Menu.exe"
psi.WorkingDirectory = IO.Path.GetDirectoryName(psi.FileName)
Diagnostics.Process.Start(psi)
End Sub
我还在服务器上安装了程序,所以如果我改变了文件路径,它就会给我上面提到的"找不到文件"错误。我已经尝试将文件安装到服务器上的默认位置,或者也包含在包含网站的目录中。以下是两个例子:
默认安装:
Protected Sub BeginTutorial(sender As Object, e As System.EventArgs) Handles Button1.Click
Dim psi As New ProcessStartInfo()
psi.FileName = "C:\Program Files\Savvy Training Tutorials\Word 2010\Savvy's Word 2010 Tutorial Menu.exe"
psi.WorkingDirectory = IO.Path.GetDirectoryName(psi.FileName)
Diagnostics.Process.Start(psi)
End Sub
安装到包含网站的目录:
Protected Sub BeginTutorial(sender As Object, e As System.EventArgs) Handles Button1.Click
Dim psi As New ProcessStartInfo()
psi.FileName = "E:\intranet\Word 2010\Savvy's Word 2010 Tutorial Menu.exe"
psi.WorkingDirectory = IO.Path.GetDirectoryName(psi.FileName)
Diagnostics.Process.Start(psi)
End Sub
我也试过取出撇号,但也没有用。有什么想法吗?