我有一個創建的窗口服務併成功安裝。我已經在服務中附帶了一個exe文件,但它不啓動.exe。從窗口服務啓動一個EXE程序
Protected Overrides Sub OnStart(ByVal args() As String)
System.Diagnostics.Process.Start("C:\Users\Dr.Fazan\Desktop\Debug\Macro Recording System.exe")
我有一個創建的窗口服務併成功安裝。我已經在服務中附帶了一個exe文件,但它不啓動.exe。從窗口服務啓動一個EXE程序
Protected Overrides Sub OnStart(ByVal args() As String)
System.Diagnostics.Process.Start("C:\Users\Dr.Fazan\Desktop\Debug\Macro Recording System.exe")
您應該爲您的服務添加一個Logger類,並捕獲任何未處理的異常。
當您嘗試Start()
您的過程時,您可能會遇到異常情況。
我的猜測是您的服務缺乏正確的權限啓動該.EXE文件
你可以嘗試改變在其服務上運行的用戶(通過控制面板,或通過command line.
由於安全原因,Windows服務通常無權啓動新進程您需要先授予這些權限
可能的方法之一是以管理員身份登錄服務。在服務中services.msc
>屬性>登錄>這個a ccount。我只知道這種方法,但它只能用於測試,並且由於已打開的安全漏洞,決不能用於生產。
你怎麼知道你的exe文件沒有啓動?由於它是Windows服務,您的exe文件不會出現在您的桌面上,它將在系統帳戶下運行,您不會看到它以圖形方式顯示。這是什麼讓你感到困惑,或者你確定它永遠不會開始? – Numenor 2012-01-08 11:27:12
我不知道exe是否啓動 – 2012-01-08 11:31:10
Process Explorer(或任務管理器)顯示什麼?您在Process Monitor中看到什麼活動? – Richard 2012-01-08 11:36:05