桜時計をWindows NTでサービス化する方法


2001年6月6日 更新

1998年3月3日更新分の設定では、7番のサービスの設定で[デスクトップとの対話をサービスに許可]のチェックがオンのままになっていました。しかし、この設定ですと、
『誰かがコンソールからログインした場合、サービスが停止する』
という不具合がありました。申し訳ありませんでした。内容は、1998年3月13日修正させて頂きました。
情報提供 : 大倉@オムロンさん

桜時計は、宇野 信太郎さんが作成された、NTP(Network Time Protocol)サーバまたは、SNTP(Simple Network Time Protocol) サーバーを利用して、パソコンのシステムクロックを正確に調整してくれる優れたフリーソフトウェアですが、ご本人のホームページのソフトギャラリーのサポート用ゲストブックでも度々話題になっている Windows NT でのサービス化の方法を矢野@松下電器さんに助言頂きましたので、ここに具体的な方法を載せます。
サービス化するメリットとしては、ログインしなくてもログオン画面のままで、又はログオン中は裏でシステムアカウントで時間修正をしますので、エンドユーザーの日付・時刻の変更権限の有無に関わらず常に指定した時間毎に時間修正が行われることです。
何らかのお役に立てれば幸いです。

なお、当方法により利用者に万一何らかの損害が生じても、 私は責任を負えません。
あくまで利用者個人の責任範囲においてご活用くださるようお願いいたします。


  1. WindowsNT Workstation 4.0 リソースキット , Server 4.0 リソースキット をインストールする。


  2. リソースキットをインストールすると、インストールしたディレクトリに、srvany.wriと言うワードパッド形式のドキュメントファイルがあり、それにサービスにするための詳しい説明が書いてあるので参考のためにこれを読む。(英語)


  3. コマンドプロンプトを開いて、
    c:\Ntreskit\instsrv MyNtpService c:\Ntreskit\srvany.exe
    を実行する。

    [skrw01.gif]


  4. コントロールパネルのサービスに「 MyNtpService 」の名前でサービスが登録される。

    [skrw02.gif]


  5. レジストリエディタで以下の設定を行い、「 MyNtpService 」に桜時計を割り付ける。

    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyNtpService の下に「 Parameters 」と言うキーを作成する。

      [skrw03.gif]

      [skrw04.gif]

    2. Parameters 」の下に以下の2つの値(文字列型)を定義して値を設定する。

      [skrw05.gif]

      例: c:\net\skrw の下に桜時計がインストールされているとすると、

      Application  "c:\net\skrw\sw_noras.exe" を追加。

      [skrw06.gif]

      [skrw07.gif]

      AppDirectory  "c:\net\skrw" を追加。

      [skrw08.gif]

      [skrw09.gif]

      とすると以下のように設定される。

      [skrw10.gif]


  6. コントロールパネルのサービスの設定で、1回目は対話型で手動起動して桜時計自体の設定を行わなければならない。(要注意!!!)

    これをダブルクリックし、

    [skrw02.gif]

    以下のように設定。

    [skrw11.gif]

    [OK] を押すと、以下のような桜時計の設定画面がデスクトップに表示されるので、各項目(注意: NTPサーバ名はお近くの物に変えて下さい。プロバイダー接続の場合ですとメールサーバマシンがNTPサーバを兼ねている所もあるそうです。)を設定後 [オンライン] を押し、[終了] でサービス用の桜時計の初期設定のレジストリが保存される。

    [skrw12.gif]

    [解説]

    桜時計は、レジストリの中に各種設定を持っているが、レジストリの設定はユーザー毎に持っているので、これをNTサーバー上で Administrator などでログインして桜時計を起動してもサービスでは使えない。
    したがって、サービスから桜時計を対話型で起動して、初期設定をすることによってサービス用のレジストリの設定をさせる。

    [参考]

    Public NTP Time Servers

    NTPとは 他


  7. コントロールパネルのサービスの設定で、桜時計(「 MyNtpService 」)の設定を[手動]から[自動]に変更し、[デスクトップとの対話をサービスに許可]のチェックをはずすと、

    [skrw13.gif]

    次回起動時からログインしなくても桜時計がサービスとして常駐している。


めでたし、めでたし!! \(^o^)/


この文書は矢野@松下電器さんの助言を元に実際に実行しながら、私(大和@加速器.筑波大)がhtml化したものです。