方法: Windows サービスをインストールおよびアンインストールする

警告

このドキュメントは、最新版の Windows サービスは対象としていません。 BackgroundService を使用した Windows サービスの最新のコンテンツと Worker サービス テンプレートについては、次を参照してください。

.NET Framework を使用して Windows サービスを開発している場合は、InstallUtil.exe コマンド ライン ユーティリティまたは PowerShell を使用してサービス アプリをすばやくインストールできます。 ユーザーがインストールおよびアンインストールできる Windows サービスをリリースしたい開発者は、無料の WiX ツールセット、あるいは Advanced InstallerInstallShield などの商用ツールを使用できます。 詳細については、「インストーラー パッケージを作成する (Windows デスクトップ)」を参照してください。

警告

サービスをコンピューターからアンインストールする場合は、この記事の手順には従わないでください。 代わりに、サービスをインストールしたプログラムまたはソフトウェア パッケージを確認し、[設定] で [アプリ] を選択してそのプログラムをアンインストールします。 多くのサービスが Windows の不可欠な構成要素です。それらを削除すると、システムが不安定になることがあります。

この記事の手順を使用するには、まず、Windows サービスにサービス インストーラーを追加する必要があります。 詳細については、「チュートリアル:Windows サービス アプリケーションを作成する」を参照してください。

Windows サービス プロジェクトを、F5 キーを押して Visual Studio 開発環境から直接実行することはできません。 プロジェクトを実行するには、プロジェクトにサービスを事前にインストールする必要があります。

ヒント

サーバー エクスプローラーを使用して、サービスがインストールまたはアンインストールされているかどうかを確認できます。

InstallUtil.exe ユーティリティを使用してインストールする

  1. [スタート] メニューから [Visual Studio <バージョン]> ディレクトリを選択し、[開発者コマンド プロンプト for VS <バージョン]> を選択します。

    Visual Studio 用開発者コマンド プロンプトが表示されます。

  2. プロジェクトのコンパイル済み実行可能ファイルが格納されているディレクトリに移動します。

  3. プロジェクトの実行可能ファイルをパラメーターとして指定し、コマンド プロンプトから InstallUtil.exe を実行します。

    installutil <yourproject>.exe
    

    Visual Studio 用開発者コマンド プロンプトを使用している場合、InstallUtil.exe はシステム パス上に既にあります。 ない場合は、パスに追加するか、完全修飾パスを使用して起動します。 このツールは、.NET Framework と共に "%WINDIR%\Microsoft.NET\Framework[64]\<フレームワーク バージョン>" にインストールされます。

    次に例を示します。

    • 32 ビット バージョンの .NET Framework 4 または 4.5 以降では、Windows のインストール ディレクトリが C:\Windows の場合、既定のパスは C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe です。
    • 64 ビット バージョンの .NET Framework 4 または 4.5 以降では、既定のパスは C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe です。

InstallUtil.exe ユーティリティを使用してアンインストールする

  1. [スタート] メニューから [Visual Studio <バージョン]> ディレクトリを選択し、[開発者コマンド プロンプト for VS <バージョン]> を選択します。

    Visual Studio 用開発者コマンド プロンプトが表示されます。

  2. プロジェクトの出力先ファイルをパラメーターとして指定し、コマンド プロンプトから InstallUtil.exe を実行します。

    installutil /u <yourproject>.exe
    
  3. 実行可能ファイルを削除した後も、レジストリ内にサービスが存在したままになることがあります。 このような場合は、コマンド sc delete を使って、レジストリからサービスのエントリを削除します。

PowerShell を使用してインストールする

  1. スタート メニューから、Windows PowerShell ディレクトリを選択し、 [Windows PowerShell] を選択します。

  2. プロジェクトのコンパイル済み実行可能ファイルが格納されているディレクトリに移動します。

  3. サービス名とプロジェクトの出力を引数として指定して、New-Service コマンドレットを実行します。

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

PowerShell を使用してアンインストールする

  1. スタート メニューから、Windows PowerShell ディレクトリを選択し、 [Windows PowerShell] を選択します。

  2. サービスの名前を引数として指定して、Remove-Service コマンドレットを実行します。

    Remove-Service -Name "YourServiceName"
    

    注意

    このコマンドレットを使用するには、PowerShell 6 以降が必要です。 PowerShell の更新の詳細については、「Windows への PowerShell のインストール」を参照してください。

  3. 実行可能ファイルを削除した後も、レジストリ内にサービスが存在したままになることがあります。 このような場合は、コマンド sc delete を使って、レジストリからサービスのエントリを削除します。

    sc.exe delete "YourServiceName"
    

関連項目