2012-01-08 54 views
-2

我有一個創建的窗口服務併成功安裝。我已經在服務中附帶了一個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") 
+2

你怎麼知道你的exe文件沒有啓動?由於它是Windows服務,您的exe文件不會出現在您的桌​​面上,它將在系統帳戶下運行,您不會看到它以圖形方式顯示。這是什麼讓你感到困惑,或者你確定它永遠不會開始? – Numenor 2012-01-08 11:27:12

+0

我不知道exe是否啓動 – 2012-01-08 11:31:10

+0

Process Explorer(或任務管理器)顯示什麼?您在Process Monitor中看到什麼活動? – Richard 2012-01-08 11:36:05

回答

1

您應該爲您的服務添加一個Logger類,並捕獲任何未處理的異常。

當您嘗試Start()您的過程時,您可能會遇到異常情況。

我的猜測是您的服務缺乏正確的權限啓動該.EXE文件

你可以嘗試改變在其服務上運行的用戶(通過控制面板,或通過command line.

0

由於安全原因,Windows服務通常無權啓動新進程您需要先授予這些權限

可能的方法之一是以管理員身份登錄服務。在服務中services.msc>屬性>登錄>這個a ccount。我只知道這種方法,但它只能用於測試,並且由於已打開的安全漏洞,決不能用於生產