如何:安裝和解除安裝 Windows 服務

注意

本文不適用於 .NET 中的託管服務。 如需使用 Microsoft.Extensions.Hosting.BackgroundService 和背景工作角色服務範本之 Windows 服務的最新內容,請參閱:

如果您正在使用 .NET Framework 開發 Windows 服務,您可以使用 InstallUtil.exe 命令列公用程式或 PowerShell 來快速安裝服務應用程式。 如果您要發行使用者可以安裝和解除安裝的 Windows 服務,請使用免費的 WiX 工具組或商業工具 (例如 Advanced InstallerInstallShield)。 如需詳細資訊,請參閱建立安裝程式套件 (Windows 桌面)

警告

如果您想從電腦中解除安裝不是由您開發的服務,請勿遵循本文中的步驟進行。 請改為找出安裝服務的程式或軟體套件,然後在 [設定] 中選擇 [應用程式] 以解除安裝該程式。 許多服務都是 Windows 不可或缺的一部分;如果移除這些服務,可能會導致系統不穩定。

若要使用本文中的步驟,首先需要將服務安裝程式新增至 Windows 服務。 如需詳細資訊,請參閱逐步解說:建立 Windows 服務應用程式

您無法按下 F5,直接從 Visual Studio 開發環境中執行 Windows 服務專案。 您必須先安裝專案中的服務,才可以執行專案。

提示

您可以使用 [伺服器總管] 來確認您已安裝或解除安裝服務。

使用 InstallUtil.exe 公用程式安裝

  1. 開啟 VS 的開發人員命令提示字元。

    從 [開始] 功能表中,選取 [所有應用程式]、展開 [Visual Studio <版本>],然後選取 [VS <版本>的開發人員命令提示字元]

  2. 瀏覽至您的專案已編譯之可執行檔所在的目錄。

  3. 從命令提示字元中,以您專案的可執行檔作為引數來執行 InstallUtil.exe

    installutil <yourproject>.exe
    

    如果您使用適用於 Visual Studio 的開發人員命令提示字元,InstallUtil.exe 已在系統路徑中。 否則,您可以將這個檔案新增至路徑,或使用完整路徑來叫用這個檔案。 此工具會與 .NET Framework 一起安裝在 %WINDIR%\Microsoft.NET\Framework[64]\<framework_version> 中。

使用 InstallUtil.exe 公用程式解除安裝

  1. 開啟 VS 的開發人員命令提示字元。

    從 [開始] 功能表中,選取 [所有應用程式]、展開 [Visual Studio <版本>],然後選取 [VS <版本>的開發人員命令提示字元]

  2. 從命令提示字元中,以 /uninstall 選項和您專案的可執行檔來執行 InstallUtil.exe

    installutil /uninstall <yourproject>.exe
    
  3. 刪除服務的可執行檔之後,服務可能還是會在登錄中。 如果是這種情況,請使用命令 sc delete 來從登錄中移除服務項目。

使用 PowerShell 安裝

  1. 從 [開始] 功能表中,搜尋 Windows PowerShell,然後加以選取。

  2. 瀏覽至您的專案已編譯之可執行檔所在的目錄。

  3. 以服務名稱和您專案的可執行檔作為引數來執行 New-Service Cmdlet:

    New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
    

使用 PowerShell 解除安裝

  1. 從 [開始] 功能表中,搜尋 Windows PowerShell,然後加以選取。

  2. 以您的服務名稱作為引數來執行 Remove-Service Cmdlet:

    Remove-Service -Name "YourServiceName"
    

    注意

    您必須擁有 PowerShell 6 或更新版本,才能使用此 Cmdlet。 如需更新 PowerShell 的相關資訊,請參閱在 Windows 上安裝 PowerShell

  3. 刪除服務的可執行檔之後,服務可能還是會在登錄中。 如果是這種情況,請使用命令 sc delete 來從登錄中移除服務項目。

    sc.exe delete "YourServiceName"
    

另請參閱