標籤:des blog http os io 使用 strong ar 檔案
發布Windows Service的方法
1、 在預設視窗Service1中右鍵Add Install,自動產生兩個類。
2. 修改serviceInstaller1的屬性:
a)ServiceName =”FirstService”; //設定服務名稱
b)StartType = Automatic; //啟動的模式有三種:“自動”、“手動”、“禁用”。事實上,在“我的電腦”的“管理”->“服務”中,還有一種模式:“自動(延遲啟動)”
c)Modifiers=public;
還有一些屬性,比如DisplayName對應中的“顯示名稱”,ServiceName對應中的“服務名稱”,而(Name)則對應,這些屬性都是可以進行相應的修改的
3. 設定serviceProcessInstaller1組件的屬性
1) Account = LocalSystem; //為最大的許可權此屬性還包括:LocalService、networkService、User(預設狀態,如果使用User,則在安裝的時候需要提供使用者名稱和密碼),如需要詳細瞭解該屬性,可以參照:
http://technet.microsoft.com/zh-cn/system.serviceprocess.serviceprocessinstaller.account(VS.90).aspx
2) Modifiers=public;
4、修改服務的名稱:開啟ProjectInstaller.Designer.cs檔案,修改this.serviceInstaller1.ServiceName 對應的值即可。
5. 產生解決方案:選擇release模式右鍵產生解決方案,則在相應的路徑當中就會出現MyFirstService.exe檔案(使用DEBUG模式產生的似乎不能安裝)。
6.使用installutil安裝建立好的MyFirstService,方法如下:
一、開啟C:\Windows\Microsoft.NET\Framework64\v4.0.30319目錄,找到InstallUtil.exe檔案。
二、把該檔案複製到你產生服務的根目錄下。
三、使用命令:在cmd中定位到你的服務所在的目錄(即InstallUtil.exe所在的目錄),使用InstallUtil 服務名.exe進行安裝。
四:用命令:installutil /u 服務的名稱.exe,點擊運行,即可卸載服務。
五:使用命令開啟services.msc即可找到你的服務啦。
以下有幾個需要注意的問題:
第一:上述二的“服務絕對路徑”猶如:e:\建立檔案夾\test\MyFirstService\MyFirstService\bin\release\MyFirstService.exe,在這個地方需要注意的是:必須選擇release下產生solution。預設是在debug下產生solution。
第二:針對window7使用者,在安裝的過程中容易出現的幾個錯誤:
- 使用的電腦不是使用系統管理員的帳號登入,則會出現下面的錯誤。(我已經做過測試),特別是在使用window7的使用者特別需要注意,系統預設system帳號是“禁用”模式。
- 第二種錯誤的可能就是服務已經存在,則會出現下面的錯誤
為了避免這種錯誤的發生,我們應該在安裝服務的時候首先進行第三步(即如果可以的話,首先卸載已存在的服務)。
原文參考:http://www.cnblogs.com/YanPSun/archive/2010/05/22/1741381.html
使用InstallUtil發布windows服務