我的Process.Start()实现在Windows 2012 R2中不起作用
我在Windows 2012服务器上部署了Windows服务。在Windows服务中,我尝试使用Process.Start(fileName)调用一个Batch(.bat)文件。
运行服务时,无法调用批处理文件。
我将NoInteractiveServices的更改设置为0并取消阻止所有文件..但没有运气..
任何人都有不同的解决方案??
Private Function RunTask(ByVal sPath As String, ByVal sArgs As String, ByVal fLog As Boolean) As Boolean
Dim targetProcess As Process
Try
targetProcess = Process.Start(sPath, sArgs)
Catch ex As Exception
WriteToLog("Can not start process '" + sPath + "' - " + ex.Message)
Return False
End Try
If fLog = True Then
WriteToLog("Started process '" + sPath + "' with args '" + sArgs + "'")
End If
Return True
End Function
它调用批处理文件,然后继续代码下面的代码:
--> net stop "Exstream Monitor"
答案 0 :(得分:2)
在Windows 2012服务器上部署了Windows服务... process.start(bat文件名)。
CreateNoWindow
的属性设置为true
和UseShellExecute
是否设为false
?答案 1 :(得分:1)
NoInteractiveServices设置为0
包含允许以批量身份登录的服务帐户,作为服务,允许远程访问。
提供对c:\ windows \ temp
提供了对目录/文件的完全访问权限
并重新启动服务器,它解决了这个问题。