標籤:== studio fonts 後台運行 otf 技術 運行 mat html
原文:把程式安裝成windows服務的過程及遇到的問題
做好了定時任務的程式,要把它放在伺服器上,作為windows服務運行,也就是說,退出登入,使用者登出後程式任然在後台運行。
將exe程式發布為服務的步驟記錄如下:
情境1 :程式路徑沒問題的情況
按照網上的有些說法,進入控制台,如下操作(VICTTEC_Maintain.exe就是要發布的程式):
C:\Users\Administrator>C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe C:\maintain\VICTTEC_Maintain.exe
報錯:
在初始化安裝時發生異常:
System.BadImageFormatException: 未能負載檔案或程式集“file:///C:\maintain\VICTTEC_Maintain.exe”或它的某一個依賴項。產生此程式集的運行時比當前載入的運行時新,無法載入此程
問題在哪裡呢?根據報錯資訊來看完全沒有頭緒,經過一段時間的思考,想到會不會是InstallUtil.exe這個程式的版本問題呢?於是換個思路,離開v2.0.50727這個檔案夾,進入
v4.0.30319這個版本的目錄,再次運行命令,OK,成功。
情境2:程式路徑本身有問題的情況
C:\Users\Administrator>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe C:\Users\Administrator\Documents\Visual Studio 2010Projects\VICTTEC_Maintain\VICTTEC_Maintain\bin\Debug\VICTTEC_Maintain.exe
報錯:
Microsoft(R) .NET Framework 安裝工具 + 生產力版本 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
在初始化安裝時發生異常:
System.IO.FileNotFoundException: 未能負載檔案或程式集“file:///C:\Users\Administrator\Documents\Visual”或它的某一個依賴項。系統找不到指定的檔案。。
這個錯誤乍一看也是完全沒有頭緒,思考了很久,還是從報錯資訊入手,發現報錯資訊裡提示的目錄不完整,到"\Visual"就停止了,而實際的目錄是\Visual Studio,
於是乎,猜測是不是路徑名稱中的空格導致了報錯,於是將exe檔案轉移出來,放在c:\maintain 目錄下,也就是確保路徑名稱沒有空格,再次嘗試,OK,成功。
總結: windows中很多系統內建的程式也並不完美,也會有一些小問題,要經常更換角度觀察問題,總會有解決的辦法。
InstallUtil.exe版本引起安裝windows services 服務遇到的問題,System.BadImageFormatException