Note
この記事は、.NET のホステッド サービスには当てはまりません。 Microsoft.Extensions.Hosting.BackgroundService を使用する Windows サービスと Worker サービス テンプレートの最新のコンテンツについては、以下を参照してください。
.NET Framework を使用して Windows サービスを開発している場合は、InstallUtil.exe コマンド ライン ユーティリティまたは PowerShell を使用してサービス アプリをすばやくインストールできます。 ユーザーがインストールおよびアンインストールできる Windows サービスをリリースする場合は、無料の WiX Toolset または Advanced Installer や InstallShield などの商用ツールを使用できます。 詳細については、「インストーラー パッケージを作成する (Windows デスクトップ)」を参照してください。
警告
コンピューターから "自分が開発していない" サービスをアンインストールする場合は、この記事の手順には従わないようにしてください。 代わりに、サービスをインストールしたプログラムまたはソフトウェア パッケージを確認し、[設定] で [アプリ] を選択してそのプログラムをアンインストールします。 多くのサービスが Windows の不可欠な構成要素です。それらを削除すると、システムが不安定になることがあります。
この記事の手順を使用するには、まず、Windows サービスにサービス インストーラーを追加する必要があります。 詳細については、「チュートリアル:Windows サービス アプリケーションを作成する」を参照してください。
Windows サービス プロジェクトを、F5 キーを押して Visual Studio 開発環境から直接実行することはできません。 プロジェクトを実行するには、プロジェクトにサービスを事前にインストールする必要があります。
ヒント
サーバー エクスプローラーを使用して、サービスがインストールまたはアンインストールされているかどうかを確認できます。
InstallUtil.exe ユーティリティを使用してインストールする
VS 用開発者コマンド プロンプトを開きます。
[スタート] メニューから [すべてのアプリ] を選択し、[Visual Studio <バージョン>] を展開し、[VS 用開発者コマンド プロンプト <バージョン>] を選択します。
プロジェクトのコンパイル済み実行可能ファイルが格納されているディレクトリに移動します。
プロジェクトの実行可能ファイルを引数として指定し、コマンド プロンプトから InstallUtil.exe を実行します。
installutil <yourproject>.exe
Visual Studio 用開発者コマンド プロンプトを使用している場合、InstallUtil.exe はシステム パス上に既にあります。 ない場合は、パスに追加するか、完全修飾パスを使用して起動します。 このツールは、.NET Framework と共に "%WINDIR%\Microsoft.NET\Framework[64]\<フレームワーク バージョン>" にインストールされます。
InstallUtil.exe ユーティリティを使用してアンインストールする
VS 用開発者コマンド プロンプトを開きます。
[スタート] メニューから [すべてのアプリ] を選択し、[Visual Studio <バージョン>] を展開し、[VS 用開発者コマンド プロンプト <バージョン>] を選択します。
/uninstall
オプションとプロジェクトの実行可能ファイルを指定し、コマンド プロンプトから InstallUtil.exe を実行します。installutil /uninstall <yourproject>.exe
実行可能ファイルを削除した後も、レジストリ内にサービスが存在したままになることがあります。 このような場合は、コマンド sc delete を使って、レジストリからサービスのエントリを削除します。
PowerShell を使用してインストールする
[スタート] メニューから、「Windows PowerShell」を検索して選択します。
プロジェクトのコンパイル済み実行可能ファイルが格納されているディレクトリに移動します。
サービス名とプロジェクトの実行可能ファイルを引数として指定して、New-Service コマンドレットを実行します。
New-Service -Name "YourServiceName" -BinaryPathName <yourproject>.exe
PowerShell を使ってアンインストールする
[スタート] メニューから、「Windows PowerShell」を検索して選択します。
サービスの名前を引数として指定して、Remove-Service コマンドレットを実行します。
Remove-Service -Name "YourServiceName"
注意
このコマンドレットを使用するには、PowerShell 6 以降が必要です。 PowerShell の更新の詳細については、「Windows への PowerShell のインストール」を参照してください。
実行可能ファイルを削除した後も、レジストリ内にサービスが存在したままになることがあります。 このような場合は、コマンド sc delete を使って、レジストリからサービスのエントリを削除します。
sc.exe delete "YourServiceName"
関連項目
.NET