Windowsでアプリケーションをサービスとして実行する方法(ユーザー定義サービスの作成手順)
Windows OSでアプリケーションを「サービス」として実行したい場合は、このチュートリアルの続きをお読みください。ご存じのとおり、Windowsの起動時にプログラムを実行する一般的な方法には、スタートアップフォルダにプログラムを配置する方法、Windowsレジストリを使って起動時に実行する方法、タスクスケジューラでアプリケーションを起動する方法などがあります。これらの方法は多くの場合有効ですが、ユーザーのログイン前や操作前に、アプリケーションをWindowsサービスとして起動しなければならないケースもあります。
このチュートリアルでは、Windows 10 / 8 / 7 および Windows Server 環境において、任意のプログラムからWindowsサービスを作成するための手順を、ステップバイステップで解説します。
任意のアプリケーションをWindowsサービスとして実行する方法
方法1:「RunAsService」ユーティリティを使ってアプリをWindowsサービスとして実行する
方法2:「NSSM」ユーティリティを使ってプログラムをサービスとして実行する
方法1:「Run As Service」ユーティリティで任意のアプリをWindowsサービスとして実行する方法
任意のプログラムからユーザー定義サービスを作成する最初の方法は、「RunAsService」ユーティリティを使用することです。
1. RunAsServiceツールをダウンロードしてPCに保存します。
2. ダウンロードした RunAsService.exe を、C:\ドライブのルートフォルダへ移動またはコピーします。*
* 重要な注意点: 「RunAsService.exe」はディスク上の任意の場所に置くこともできますが、インストールしたサービスが正常に動作し続けるように、一度設置したら同じ場所から移動しないようにしてください。

3. 管理者権限でコマンドプロンプトを開きます。
4. コマンドプロンプトで次のように入力します:cd\
5. 次のコマンドを使用して、サービスとして登録したいアプリケーションをインストールします。*
- RunAsService install "ServiceName" "Display-Name" "PathToExecutable"
注意点:
1. 上記コマンド内の各値は、以下のように置き換えて入力してください。
Name(サービス名): 作成するサービスの名前を指定します。このサービス名は、後で「net start」や「net stop」コマンドを使ってサービスを手動で開始・停止するときに使用できます。
Display Name(表示名): 必要に応じて、Windowsのサービス一覧に表示される別の名前を指定できます。これはサービス一覧に表示される名称です。「Display Name」を省略した場合は、作成したサービスの「ServiceName」と同じ名前が表示名になります。
PathToExecutable(実行ファイルのパス): Windowsサービスとして実行したいアプリケーションのフルパスを指定します。
例: 「Notepad.exe」を「Notepad」という名前のWindowsサービスとしてインストールするには、次のコマンドを実行します。
- RunAsService install "Notepad" "C:\Windows\System32\notepad.exe"

2. 上記コマンドの実行後に「このアプリには .Net Framework 2.0 機能が必要です」というメッセージが表示された場合は、「この機能をダウンロードしてインストールする」をクリックするか、Microsoftダウンロードセンターから .Net Framework 2.0 を入手してインストールしてください。

6. コマンドの実行後、サービス一覧に「RunAsService」コマンドで指定した名前の新しいWindowsサービスが追加されます。作成したサービスを起動時に自動実行するには、以下の手順を行います。
a. サービスを右クリックし、プロパティを選択します。

b. スタートアップの種類が「自動」に設定されていることを確認します。

c. PCを再起動して、サービスが正常に動作するかテストします。*
* 注意点:
1. 管理者権限のコマンドプロンプトで「net start」または「net stop」コマンドを実行すれば、いつでもサービスを開始・停止できます。
2. 将来的にインストール済みのサービスをアンインストールしたい場合は、以下の手順を行います。
a. 管理者権限のコマンドプロンプトで次のコマンドを実行し、サービスを停止します。
- net stop "ServiceName"
例:net stop "Notepad"
b. 次のコマンドでサービスをアンインストールします。
- RunAsService uninstall "ServiceName"
例:RunAsService uninstall "Notepad"

方法2:NSSMを使って任意のプログラムをサービスとして実行する方法
Windows上で任意のアプリケーションをサービスとして実行する2つ目の方法は、Non-Sucking Service Manager(NSSM)というツールを使用することです。
1. NSSMをダウンロードします。
2. ダウンロードしたZIPファイルを解凍します。
3. 解凍してできたフォルダ(例:「nssm-2.24」)をNSSMという名前に変更します。
4. NSSMフォルダをC:\ドライブのルートフォルダにコピーします。
5. 管理者権限でコマンドプロンプトを開き、以下のコマンドを順番に入力してNSSMフォルダへ移動します(各コマンド入力後にEnterキーを押してください)。
- cd\
- cd nssm
6. お使いのWindowsのバージョン(32ビットか64ビットか)に応じて、対応するサブフォルダへ移動するコマンドを入力し(Enterキーを押します)。
- 64ビット版Windowsの場合:cd win64
- 32ビット版Windowsの場合:cd win32
7. 次のコマンドを入力します。*
- nssm install

8. 開いたウィンドウで以下の操作を行います。
8a. PATHの横にある3点ボタン
をクリックし、サービスとして実行したいアプリケーションの実行ファイル(.exe)を選択します。

8b. 選択できたら、新しいサービスの名前(Service name)を入力し、Install serviceをクリックします。

8c. 「Service installed successfully(サービスが正常にインストールされました)」というメッセージが表示されたらOKをクリックして完了です。*
* 注意点:
1. NSSMでサービスをインストールすると、指定した名前の新しいWindowsサービスがサービス一覧に追加され、他のWindowsサービスと同様に管理できるようになります。
2. 将来的にサービスをアンインストールしたい場合は、以下の手順を行います。
a. 上記の手順5と6を実行してNSSMフォルダへ移動したうえで、次のコマンドを入力します。*
- nssm remove ServiceName
* 注意: 「ServiceName」には、NSSMで作成したサービスの名前を指定します。
例:この記事の例では nssm remove NOTEPAD となります。

b. 最後に、サービス削除の確認メッセージに対して「はい(Yes)」をクリックします。

以上で完了です!このガイドがお役に立てた場合は、ぜひコメントであなたの体験を教えてください。他の方にも届くよう、いいね・シェアにもご協力いただけると嬉しいです。
-
Windows 10でアプリを管理者として実行する方法|7つの手順を徹底解説
Windows 10には「ユーザーアカウント制御(UAC)」というセキュリティ機能が搭載されており、一部のソフトウェアに対しては管理者権限が制限されています。しかし、特定のアプリケーションの中には、管理者権限がなければ正しくアクセス・動作できないものもあります。アプリの全機能を使いこなすためには、昇格された特権が必要になるケースがあるのです。管理者として実行されたアプリケーションには「高整合性レベル」が付与され、システム設定の変更などが可能になります。中には、管理者として実行しているときにのみ動作する機能を持つアプリもあります。この記事では、任意のアプリを管理者承認モードで実行するためのさまざ
-
MacでWindowsを使う方法|Parallels・Boot Campなど5つの手段を徹底比較
Macは安全性と快適な操作性で知られています。しかし、「Windows専用のソフトウェアを使いたいから」という理由で、Windowsからの乗り換えをためらっている方も多いのではないでしょうか。 実は、その心配は不要です。仮想マシン(Virtual Machine)などの仕組みを活用すれば、1台のMac上でmacOSとWindowsの両方を利用することができます。再起動なしにOSを切り替えられる方法もあれば、ネイティブ性能でWindowsを動かせる方法もあります。 この記事では、MacでWindowsを実行する代表的な5つの方法(Parallels Desktop、VMware Fusion、B