Delphi で Windows サービスを作成し、2 つの方法でインストール、開始、停止を行いました。
方法 1
コマンドラインを使用してこのサービスをインストールする場合
C:\MyService\ServiceApp.exe /Install
正常にインストールされ、サービス コンソールでも開始および停止できます。
方法 2
しかし、scを使用して同じサービスを別の名前でインストールすると、たとえば
C:\Windows\system32>sc create myservice binpath= c:\MyService\ServiceApp.exe
インストールされているようですが、サービスコンソールを使用してサービスを開始できません
sc start myservice
SC を使用してクエリを実行すると、結果は次のようになります
C:\Windows\system32>sc query myservice
SERVICE_NAME: myservice
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
今まで /Install を使用していましたが、同じサービスを異なる名前で複数回インストールしたいので、この投稿から使用のアイデアを得ました。(名前と説明を指定してコマンド ラインから Windows サービスをインストールする方法は? ) /Install と SC の動作の違いを説明できる人はいますか?