Vb.net 进程。启动而不是启动

Vb.net 进程。启动而不是启动,vb.net,shell,process,cmd,Vb.net,Shell,Process,Cmd,我正在尝试执行一个第三方应用程序,从.cmd批处理文件调用,从自托管WCF服务调用。像这样: WCF-->.cmd-->第三方应用程序 无论出于何种原因,使用Shell命令都不能完全起作用。它将调用.cmd文件,但第三方应用程序不会启动(我知道.cmd正在启动,因为我有before/after ECHO语句填充日志文件)。如果我双击explorer中的.cmd文件,第三方应用程序将正常启动。所以,我想,除了我的WCF服务中的Shell命令之外,也许还可以尝试一些别的东西 因此,我尝试了以下代码,

我正在尝试执行一个第三方应用程序,从.cmd批处理文件调用,从自托管WCF服务调用。像这样:

WCF-->.cmd-->第三方应用程序

无论出于何种原因,使用Shell命令都不能完全起作用。它将调用.cmd文件,但第三方应用程序不会启动(我知道.cmd正在启动,因为我有before/after ECHO语句填充日志文件)。如果我双击explorer中的.cmd文件,第三方应用程序将正常启动。所以,我想,除了我的WCF服务中的Shell命令之外,也许还可以尝试一些别的东西

因此,我尝试了以下代码,但它根本无法启动.cmd文件(echo语句不触发)。我错过了什么

Dim psi As New ProcessStartInfo("cmd.exe", "/C " & System.Configuration.ConfigurationManager.AppSettings("ExStream_CMD_File_Path"))

Dim proc As New Process()
proc.StartInfo = psi
proc.Start()
proc.WaitForExit()
app.config文件中的路径有效(只需再次检查)。上面的代码有什么问题吗

谢谢,
Jason

在这里查看我对问题的第二次编辑:


基本上,您需要确保对正在使用
/C

执行的命令周围的引号进行双转义。如何知道它没有启动。正如在文章中所述,echo语句没有写入日志文件。因此,before语句正在启动,而不是after语句