独自の実行可能ファイルを使用して、Windows でサービスを作成しようとしています。サービスを開始しようとすると、次のエラー メッセージが表示されます。
「ローカル コンピューターのサービスが開始され、その後停止しました。実行する作業がない場合、一部のサービスは自動的に停止します...」
exe は、時間をチェックし、1 日の特定の時点でデータベースのバックアップを作成するタイマーを常に実行しているため、常に作業を行っている必要があります。実行可能ファイルを(サービスとしてではなく)単独でテストしましたが、正常に動作します。
バッチ ファイルと INSTSRV.EXE および SRVANY.EXE を使用してサービスを作成しました。バッチ ファイルは次のようになります。
start /d "C:\<exe directory>" INSTSRV.EXE <service name> "C:\<exe
directory>\SRVANY.EXE"
コンピューターのサービスのリストにサーバー名が表示されるようになりました。また、レジストリを編集して、すべてが正常であることを確認しました。私のregeditエントリは次のようになります。
Service key
DisplayName REG_SZ <service name>
ErrorControl REG_DWORD 0
ImagePath REG_EXPAND_SZ "C:\<exe directory>\SRVANY.EXE" <service name> C:\<exe directory>\SRVANY.EXE
ObjectName REG_SZ LocalSystem
Start REG_DWORD 2
Type REG_DWORD 16
Parameters key
AppDirectory REG_SZ E:\<exe directory>\
Application REG_SZ E:\<exe directory>\<exe file name>
以前に同様のバッチ ファイルを使用して実行可能ファイルからサービスを作成し、そのサービスのレジストリ エントリを自分のサービスのレジストリ エントリと比較しました。それらはかなり同一です。サービスを開始したくない理由がわかりません。