2
我編寫了一個程序Windows Server 2008
使用GHC 7.6.3
32-bit
。我試圖在啓動時通過Windows內的服務運行它(並理想地保持它)。要使用下面的命令這樣做,我創建了一個服務成功運行GHC創建的Windows可執行文件作爲服務
sc create stworker binPath= "C:\Users\vagrant\Desktop\worker.exe"
我遇到的問題是,當我嘗試啓動我收到以下錯誤服務(見下圖)。
當我雙擊它時,可執行文件運行良好。所以不知道爲什麼Windows不允許該服務運行。我不認爲這是一個問題w/GHC
。我假設GHC
編譯爲本地代碼而不是MSIL
。
那麼,爲什麼我不能運行我的可執行文件作爲服務的任何想法?
第一行支持問題,你知道一個Windows服務與應用程序不一樣嗎? – Jonke
您需要調用ServiceService中的StartServiceCtrlDispatcher,RegisterServiceCtrlHandler,SetServiceStatus(至少)和SERVICE_TABLE_ENTRY – Jonke
我沒有試過(因爲在我需要時它不存在),但是http://hackage.haskell.org/包/ Win32的服務 – Jonke