windows服務的編寫,手動安裝與卸載


windows服務的編寫

1.要添加的引用

using System.ServiceProcess;
using System.ServiceModel ;
using WcfServiceLibraryAgain;//自己寫的WCF服務的名稱

2.寫windows服務

public partial class MainService : ServiceBase
{
    ServiceHost host;

    public MainService()
    {
        InitializeComponent();
    }

    protected override void OnStart(string[] args)
    {
        Type serviceType = typeof(Service1);//托管REST或非REST服務,方式一樣。Service1就是要托管的wcf服務的類
        host = new ServiceHost(serviceType);
        host.Open();
    }
}

注意:要將WCF中的配置文件拷貝到windows服務程序的配置文件中。(這點很重要)

手動安裝windows服務

1.將Windows服務程序切換到設計視圖, 右擊設計視圖選擇“添加安裝程序”

 

 
1
 
2

2.切換到剛被添加的ProjectInstaller的設計視圖
設置serviceInstaller1組件的屬性:
1) ServiceName = 服務名稱
2) StartType = Automatic ,即自動,Manual是手動,剩下那個是禁用,不過這都不重要,安裝好后再服務管理器中可以很方便的設置。
設置serviceProcessInstaller1組件的屬性
1) Account = LocalSystem,賬戶一般設置為本地系統
DisPlayName中設置的名字即你打開服務管理器中服務的名稱,我這里叫MyService1
然后重新生成一下
3.右鍵點擊開始按鈕,選擇命令提示符(管理員)(A),也就是以管理員身份運行cmd,按如下路徑找到對應安裝服務的程序C-windows-Microsoft.NET-Framework-v4.0.30319-InstallUtil.exe,在cmd中輸入 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(即InstallUtil.exe的路徑,在其屬性中拷貝,必需右鍵粘貼),回車運行(注意cd 后要留空格)

 

 
3

右鍵解決方案,選擇在資源管理器中打開文件夾,找到要安裝的windows服務的exe文件,WindowService1-bin-Debug,拷貝其路勁,然后再cmd中繼續輸入命令InstallUtil.exe+空格+路徑(注意路徑要完整,Debug后還要加上\名稱.exe),然后回車運行完成安裝,關鍵截圖如下:

 

 
4
 
5
 
6
 
7

至此服務已安裝成功!打開服務管理器查看服務是否存在。

 

 
8

手動卸載windows服務

如果覺得寫的服務有問題或者是其他原因想卸載服務,在cmd中與安裝是幾乎相同的,第一步完全以樣,第二步的命令變為InstallUtil.exe +空格+ –u +路徑(注意路徑要完整,Debug后還要加上\名稱.exe)

 

 
9

補充:還可以用VS自帶的工具完成服務的安裝與下載,這時不需要做cmd中的第一步,直接到第二步就可以了,要方便一點,卸載時該用命令\u,下面詳細說一下用VS自帶的工具怎么卸載服務:

 

 
10
 
11

這時要注意還是要以管理員身份運行

 

 
12

安裝幾乎相同,就不用說了!
總結:手動安裝是服務安裝最老舊的方法,我們不能一直用這個方法,但是學會了手動安裝會讓我們對服務的裝原理更了解一些,對寫自動安裝與卸載還是有幫助的,希望對大家有所幫助!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM