1. 程式人生 > >Windows服務的安裝與解除安裝

Windows服務的安裝與解除安裝

Windows服務的安裝與解除安裝。

1、服務資訊的設定

首先建立一個Windows服務專案,本示例中的專案名稱為:MyTest.WindowsService。

編寫服務啟動和關閉方法,記錄一些日誌資訊,方便後續檢視服務的狀態。

using System;
using System.ServiceProcess;
using System.Text;
using System.IO;

namespace MyTest.WindowsService
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            WriteLog("服務啟動"); 
        }

        protected override void OnStop()
        {
            WriteLog("服務關閉"); 
        }

        /// <summary>
        /// 記錄日誌
        /// </summary>
        private void WriteLog(string message)
        {
            string path = AppDomain.CurrentDomain.BaseDirectory + "/MyLog.txt";
            using (StreamWriter txt = new StreamWriter(path, true, Encoding.Default))
            {
                txt.Flush();
                txt.WriteLine("時間:" + DateTime.Now);
                txt.WriteLine("內容:" + message);
                txt.WriteLine("------------------------");
                txt.Close();
            }
        }
    }
}

1.1 新增安裝程式

雙擊Service1.cs檔案 —> 切換到Service1.cs[設計]介面 —>  右擊選擇“新增安裝程式”。

這時專案中會自動添加了一個新類 ProjectInstaller.cs 類,和兩個安裝控制元件 ServiceProcessInstaller 和 ServiceInstaller。

1.2 設定ServiceProcessInstaller控制元件資訊

選中“serviceProcessInstaller1” 控制元件,F4開啟屬性面板。

將Account屬性改為 LocalSystem。

1.3 設定ServiceInstaller控制元件資訊

選中“serviceInstaller1” 控制元件,F4開啟屬性面板。

Description:服務程式的描述資訊。
DisplayName:服務程式顯示的名稱。
ServiceName:指示系統用於標識此服務的名稱。
StartType:指定如何啟動服務 (Manual:服務安裝後,必須手動啟動;Automatic:每次計算機重新啟動時,服務都會自動啟動;Disabled:服務無法啟動)。

1.4 生成專案

選擇“Release”,編譯生成專案。

本示例中生成後的專案在 D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe。

 

2、服務的安裝與解除安裝(方式一

方式一:使用CMD命令。

安裝命令:

installutil.exe D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe

解除安裝命令:

installutil.exe /u D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe

2.1 安裝服務

(1)開始 —> 執行 —> 鍵入cmd,開啟命令視窗。

(2)進入安裝程式工具 (Installutil.exe)的目錄底下,命令:cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

(3)安裝服務,命令:installutil.exe D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe

2.2 解除安裝服務

(1)解除安裝服務,命令:installutil.exe /u D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe

 

3、服務的安裝與解除安裝(方式二)

方式二:使用bat批處理檔案。

3.1 安裝服務

(1)建立MyServiceInstaller.bat批處理檔案。

(2)開啟該檔案,輸入命令:

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
pause

(3)點選檔案,執行安裝服務。

3.2 解除安裝服務

(1)建立MyServiceUnInstaller.bat批處理檔案。

(2)開啟該檔案,輸入命令:

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\InstallUtil /u D:\MyTestProject\MyTest.WindowsService\bin\Release\MyTest.WindowsService.exe
pause

(3)點選檔案,執行解除安裝服務。