1. 程式人生 > >WindowsService服務程式開發 安裝和解除安裝

WindowsService服務程式開發 安裝和解除安裝

安裝服務:
installutil.exe E:\XTestDemo\X_15_WindowsService\bin\Debug\X_15_WindowsService.exe

解除安裝服務:
installutil.exe /u E:\XTestDemo\X_15_WindowsService\bin\Debug\X_15_WindowsService.exe

Windows服務:Microsoft Windows 服務(即,以前的 NT服務)使您能夠建立在它們自己的 Windows 會話中可長時間執行的可執行應用程式。這些服務可以在計算機啟動時自動啟動,可以暫停和重新啟動而且不顯示任何使用者介面。這使服務非常適合在伺服器上使用,或任何時候,為了不影響在同一臺計算機上工作的其他使用者,需要長時間執行功能時使用。還可以在不同於登入使用者的特定使用者帳戶或預設計算機帳戶的安全上下文中執行服務。(摘自百度百科)

一:建立

二:屬性

VS自動建立了一個Service1.cs的檔案:

點選F4,檢視各個屬性的含義:

Autolog                 是否自動寫入系統的日誌檔案

CanHandlePowerEvent     服務時候接受電源事件

CanPauseAndContinue          服務是否接受暫停或繼續執行的請求

CanShutdown 服務是否在執行它的計算機關閉時收到通知,以便能夠呼叫 OnShutDown 過程

CanStop                              服務是否接受停止執行的請求

ServiceName                       服務名稱

三:功能

點選F7檢視Service1.cs的原始碼:

預設實現了OnStart和OnStop兩個方法。

以向一個文字檔案中寫入資料操作為例:

複製程式碼
   public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// 服務啟動
        /// http://www.cnblogs.com/babycool
        /// </summary>
        /// <param name="args"></param>
        protected override void OnStart(string[] args)
        {
            string start = string.Format("{0}-{1}",DateTime.Now.ToString("yyyyMMddHHmmss"),"程式啟動了。");
            Log(start);
        }

        /// <summary>
        /// 服務停止
        /// http://www.cnblogs.com/babycool
        /// </summary>
        protected override void OnStop()
        {
            string start = string.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), "程式停止了。");
            Log(start);
        }

        /// <summary>
        /// 系統關閉
        /// http://www.cnblogs.com/babycool
        /// </summary>
        protected override void OnShutdown()
        {
            string start = string.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), "電腦關閉了。");
            Log(start);
        }

        /*
        /// <summary>
        /// 服務暫停
        /// http://www.cnblogs.com/babycool
        /// </summary>
        protected override void OnPause()
        {
            
        }
        */

        /*
        /// <summary>
        /// 服務繼續
        /// </summary>
        protected override void OnContinue()
        {
            base.OnContinue();
        }
        */
        /*
        /// <summary>
        /// 系統電源狀態改變
        /// </summary>
        /// <param name="powerStatus"></param>
        /// <returns></returns>
        protected override bool OnPowerEvent(PowerBroadcastStatus powerStatus)
        {
            return base.OnPowerEvent(powerStatus);
        }
        */


        void Log(string str)
        {
            string path = "E://def/6.txt";
            using (StreamWriter sw = File.AppendText(path))
            {
                sw.WriteLine(str);
            }
        }

    }
複製程式碼

四:安裝程式

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

這時專案中就添加了一個新類 ProjectInstaller 和兩個安裝元件 ServiceProcessInstaller 和 ServiceInstaller。

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

Description       服務程式的描述資訊

DisplayName     服務程式顯示的名稱

StartType        指定如何啟動服務      

                    Manual      服務安裝後,必須手動啟動

                    Automatic    每次計算機重新啟動時,服務都會自動啟動

                    Disabled     服務無法啟動

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

將serviceProcessInstaller類的Account屬性改為 LocalSystem。

這樣,不論是以哪個使用者登入的系統,服務總會啟動。

五:生成

右擊 專案 選擇生成 ,不能通過F5來直接執行服務專案。

六:安裝解除安裝服務

選擇 VS元件 “Visual Studio命令提示(2010)” 工具,並以“管理員身份執行"(win7、win8系統下)。

注意:這裡必須選擇“以管理員身份執行”,否則會報錯。

  

從命令列執行 Installutil.exe 目錄  命令,以專案中的已編譯可執行檔案所在的目錄作為引數,安裝服務:

1. 方法 1

因為Installutil.exe程式在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 目錄下,需要通過cmd命令 "cd" 切換目錄。

從命令列執行 Installutil.exe /u 目錄   命令來解除安裝服務:

安裝服務:
installutil.exe E:\XTestDemo\X_15_WindowsService\bin\Debug\X_15_WindowsService.exe

解除安裝服務:
installutil.exe /u E:\XTestDemo\X_15_WindowsService\bin\Debug\X_15_WindowsService.exe

1. 方法 2

找到 Installutil.exe 檔案,並把它複製到 E:\XTestDemo\X_15_WindowsService\bin\Debug\ 目錄

現在 Installutil.exe 程式在 E:\XTestDemo\X_15_WindowsService\bin\Debug\ 目錄下,需要通過cmd命令 "cd" 切換目錄。

安裝服務:
installutil.exe X_15_WindowsService.exe

解除安裝服務:
installutil.exe X_15_WindowsService.exe

七:檢視服務狀態

在“計算機管理”中,服務 下可以看到剛剛安裝的Service服務(cmd命令:services.msc---本地服務設定):

預設是停止狀態。右擊,選擇“啟動”,即可開啟服務。

通過“屬性”,可以檢視到更詳細的資訊。

相關參考:

相關推薦

WindowsService服務程式開發 安裝解除安裝

安裝服務:installutil.exe E:\XTestDemo\X_15_WindowsService\bin\Debug\X_15_WindowsService.exe 解除安裝服務:installutil.exe /u E:\XTestDemo\X_15_WindowsService\bin\Debu

exe程式安裝解除安裝的測試點總結(附exe打包教程)

exe程式安裝和解除安裝的測試點總結: 安裝過程: (1)作業系統 XP、win 7、win 8、win 10(如果有需要,要具體到各個版本,如win10企業版 64位),建議用虛擬機器做;同時檢查是否需要.net支援,是否需要server back補丁包 (2)防毒軟體 安裝360防毒、3

.NET windows服務(二:建立解除安裝windows服務)

引用地址: https://docs.microsoft.com/zh-cn/dotnet/framework/windows-services/how-to-create-windows-services   手動安裝你的服務 在 Windows“啟動”選單或“啟動”螢幕上,依次選

安裝解除安裝Tomcat服務

service.bat中的修改 @echo off rem Licensed to the Apache Software Foundation (ASF) under one or more rem contributor license agreements.  See the NOTICE file d

Android程式使用程式碼的安裝解除安裝

String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str; Intent intent = new Intent(Intent.ACTION_VIEW); inten

服務安裝解除安裝

static class Program { /// <summary> /// The main entry point for the application. /// </summary&

android模擬器上最簡單的安裝解除安裝app程式的方法

1.安裝:甭管從哪裡下載下來的apk,放在指定的目錄下,不一定非要是sdk的目錄下: adb install "d:\hxcjaz.apk"(指定的一個目錄) 2.解除安裝: adb uninstall 包名 3.安裝和解除安裝的前提都是:點選桌面,開始——執行,

windows 服務安裝解除安裝

首先必須以管理員方式開啟DOS介面;下面包含兩種方式: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319    第一種   -  安裝服務時自定義服務名稱: sc create 服務名稱  binpath= "D:\Servi

Android利用系統廣播---監聽應用程式安裝解除安裝

第一、 新建監聽類:BootReceiver繼承BroadcastReceiver Java程式碼   publicclass BootReceiver extends BroadcastReceiver {   @Overridepublicvoid onRec

HGDB4.3.2在CentOS 6.x中安裝解除安裝指導手冊

目錄 文件用途 詳細資訊 相關文件 文件用途 介紹HGDB4.3.2在CentOS 6.8系統上的安裝和解除安裝流程。 詳細資訊 1.安裝版本及注意事項 1.1 安裝版本 作業系統 CentOS 6.8 x86_64

windown下linux子系統的安裝解除安裝

原文: windown下linux子系統的安裝和解除安裝 安裝 第一步  開啟開發人員模式 第二步  勾選適用linux的window子系統 第三步  開啟powershell 第四步  在PowerShell裡輸入lxrun&nbs

Linux yum原始碼包安裝解除安裝

Linux 下的絕大多數原始碼包都是用 C 語言編寫的,還有少部分是用 C++ 等其他程式語言編寫的。所以,要想安裝原始碼包,必須安裝 C 語言編譯器 gcc(如果是用 C++ 編寫的程式,則還需要安裝 gcc-c++)。我們可以先檢測一下 gcc 是否已經安裝,命令如下: [

HGDB4.3.2在RHEL7.5中安裝解除安裝指導手冊

目錄 文件用途 詳細資訊 相關文件 文件用途 介紹HGDB4.3.2在RHEL7.5系統上的圖形化安裝和解除安裝流程。 詳細資訊 1.安裝版本及注意事項 1.1 安裝版本 作業系統 Redhat 7.5 x86_64

eclipse的下載,安裝解除安裝

 1.eclipse的安裝 1.1.下載eclipse:步驟如下。         1.2.安裝eclipse:把下載下來的壓縮包直接解壓到你的安裝目錄即可(eclipse是一款開源,綠色的軟體)進入到bin裡面把eclipse.exe傳送

Ubuntu16.04 下如何安裝解除安裝Google Chrome

參考文章: https://www.aliyun.com/jiaocheng/141917.html https://blog.csdn.net/luohuiwu/article/details/80722075 安裝 1.將下載源新增到系統源中。 sudo wget https

Oracle12C在winserver2012R2的安裝解除安裝

  Oracle12C在winserver2012R2的安裝                  以下為標準安裝,從dbca開始,還有高階模式安裝,

Linux裡面安裝解除安裝mongodb

Linux裡面安裝和解除安裝mongodb 解除安裝 如果您之前安裝過mongodb,但沒有安裝成功的話,您可以先執行以下操作,將其解除安裝乾淨後再安裝: sudo apt-get autoremove mongodb sudo apt-get autocle

LINUX系統軟體安裝解除安裝的常見方法

linux系統分很多種簡單介紹幾種常用的: 1、centos/redhat: 安裝: rpm安裝,如果有依賴,很鬧心,如果使用--nodeps不檢查依賴,會有問題。 #rpm -ivh <XXX.rpm> #不檢查依賴的話,新增 --nodeps yum安裝,自動解決依賴,推薦

MongoDB 安裝解除安裝(親測適用win10)

content - MongoDB 安裝過程及注意事項 - MongoDB 解除安裝過程及注意事項 - 安裝解除安裝過程中報過的錯 - 幾點補充 1. MongoDB 安裝過程 (1) 下載安裝包 下載地址 選擇3.6 MSI版本,下文以mongodb 3.6為示例

linux上安裝解除安裝open-vswitch

一. ovs 從原始碼編譯安裝: 安裝依賴項: # apt install make # apt install gcc # apt install build-essential # apt install libssl-dev # apt install l