たとえば以前ご紹介したAirVideo等、常駐タイプではないが、サーバーとして機能するようなアプリケーションをWHSが稼働している間常に動かしておきたい場合があります。
このような場合、以下の手順で可能です。
ソフトウェアをサービス化してくれるフリーソフトなどもありますが、今回はあえてMS純正のリソースキットを使ってサービス化に挑戦してみます。
- Windows Server 2003 Resource Kit をWHSにインストールします。
インストールするには、WHSにリモートデスクトップ接続して操作する必要があります。サービス化したいアプリケーションは事前に閉じておきます。 - WHS上でコマンドプロンプトを起動し、以下のコマンドを入力します。
cd C:\program files\Windows Resource Kits\tools
instsrv.exe [サービス名] “C:\Program files\windows resource kits\tools\srvany.exe”※[サービス名]=サービス化した場合の名称。たとえばAirVideoをサービス化する場合、AirVideoと任意に入力します。 - エンターを押下し、以下のように[The Service was successfuly added!!]と表示されればOKです。
- WHSでレジストリエディタを起動し、以下のキーを開きます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[2で作成した作成したサービス名] - [2で作成したサービス名]を右クリックし、[新規]>[キー]を押下します。作成されたキーに[Parameters]と名前をつけます。
- [Parameters]を選択し、右側のペイン上で右クリック。[新規]>[文字列値]を押下し、[Application]という名前をつけます。
- 作成した[Application]を右クリックし、[修正]を押下。[値のデータ]にサービス化したいアプリケーションのexeファイルの場所を記入します。ここではAirVideoをサービス化したいので、[C:\Program Files\AirVideoServer\AirVideoServer.exe]と入力しました。
- [OK]を押下します。
- レジストリエディタを閉じ、[スタート]>[全てのプログラム]>[管理ツール]>[サービス]を開きます。
- 2で指定したサービス名のサービスを探し、ダブルクリックします。
- [ログオン]タブを開き、[アカウント]に[.\administrator]、[パスワード]にWHSのパスワードを入力し[OK]を押下します。
- [全般]タブに戻り、[開始]を押下します。
- 以上で完了です。
これで指定したアプリケーションはサービスとしてWHSを起動していると常にバックグラウンドで動作します。注意点としては、アプリケーションの設定を変更する必要がある場合は、一旦サービスを停止し、WHS上で手動でアプリケーションを起動させて設定を変更する必要があります。
Lights Outを使ってサーバーをスリープさせている場合
サーバーを自動的にスリープ/復帰させている場合、サービスとして稼働させていたアプリケーションがうまく動作しなくなる場合があります。
この場合、Lights Outの設定で、[スリープ/復帰時にこれらのサービスを中止/開始]という欄にサービス名称を指定しておくと、正しく稼働してくれます。複数のサービスを指定する場合は、間をカンマで区切ります。TwokyServer 6.x などもこの例に該当するので、私は以下のように[TwonkyMedia]というサービスを指定しています。