如何:安裝和解除安裝 Windows 服務
注意
本文不適用於 .NET 中的託管服務。 如需使用 Microsoft.Extensions.Hosting.BackgroundService 和背景工作角色服務範本之 Windows 服務的最新內容,請參閱:
如果您正在使用 .NET Framework 開發 Windows 服務,您可以使用 InstallUtil.exe 命令列公用程式或 PowerShell 來快速安裝服務應用程式。 如果您要發行使用者可以安裝和解除安裝的 Windows 服務,請使用免費的 WiX 工具組或商業工具 (例如 Advanced Installer 和 InstallShield)。 如需詳細資訊,請參閱建立安裝程式套件 (Windows 桌面)。
警告
如果您想從電腦中解除安裝不是由您開發的服務,請勿遵循本文中的步驟進行。 請改為找出安裝服務的程式或軟體套件,然後在 [設定] 中選擇 [應用程式] 以解除安裝該程式。 許多服務都是 Windows 不可或缺的一部分;如果移除這些服務,可能會導致系統不穩定。
若要使用本文中的步驟,首先需要將服務安裝程式新增至 Windows 服務。 如需詳細資訊,請參閱逐步解說:建立 Windows 服務應用程式。
您無法按下 F5,直接從 Visual Studio 開發環境中執行 Windows 服務專案。 您必須先安裝專案中的服務,才可以執行專案。
提示
您可以使用 [伺服器總管] 來確認您已安裝或解除安裝服務。
使用 InstallUtil.exe 公用程式安裝
開啟 VS 的開發人員命令提示字元。
從 [開始] 功能表中,選取 [所有應用程式]、展開 [Visual Studio <版本>],然後選取 [VS <版本>的開發人員命令提示字元]。
瀏覽至您的專案已編譯之可執行檔所在的目錄。
從命令提示字元中,以您專案的可執行檔作為引數來執行 InstallUtil.exe:
installutil <yourproject>.exe
如果您使用適用於 Visual Studio 的開發人員命令提示字元,InstallUtil.exe 已在系統路徑中。 否則,您可以將這個檔案新增至路徑,或使用完整路徑來叫用這個檔案。 此工具會與 .NET Framework 一起安裝在 %WINDIR%\Microsoft.NET\Framework[64]\<framework_version> 中。
使用 InstallUtil.exe 公用程式解除安裝
開啟 VS 的開發人員命令提示字元。
從 [開始] 功能表中,選取 [所有應用程式]、展開 [Visual Studio <版本>],然後選取 [VS <版本>的開發人員命令提示字元]。
從命令提示字元中,以
/uninstall
選項和您專案的可執行檔來執行 InstallUtil.exe:installutil /uninstall <yourproject>.exe
刪除服務的可執行檔之後,服務可能還是會在登錄中。 如果是這種情況,請使用命令 sc delete 來從登錄中移除服務項目。
使用 PowerShell 安裝
從 [開始] 功能表中,搜尋 Windows PowerShell,然後加以選取。
瀏覽至您的專案已編譯之可執行檔所在的目錄。
以服務名稱和您專案的可執行檔作為引數來執行 New-Service Cmdlet:
New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
使用 PowerShell 解除安裝
從 [開始] 功能表中,搜尋 Windows PowerShell,然後加以選取。
以您的服務名稱作為引數來執行 Remove-Service Cmdlet:
Remove-Service -Name "YourServiceName"
注意
您必須擁有 PowerShell 6 或更新版本,才能使用此 Cmdlet。 如需更新 PowerShell 的相關資訊,請參閱在 Windows 上安裝 PowerShell。
刪除服務的可執行檔之後,服務可能還是會在登錄中。 如果是這種情況,請使用命令 sc delete 來從登錄中移除服務項目。
sc.exe delete "YourServiceName"