Windows サービス依存関係の意味は何ですか?

Windows サービス依存関係の意味は何ですか?

私はコンピュータ プログラムを作成し、それを Windows サービスとしてインストールしました。また、このスクリーンショットからわかるように、別の Windows サービスである「KEPServerEX 6.9 Runtime」への依存関係を追加しました。

ここに画像の説明を入力してください

私はこの依存関係をさまざまな方法でテストしました:

  1. コンピュータを再起動し、「KEPServerEX 6.9 Runtime」がプログラムよりも先に起動していることを確認しました。
  2. 「KEPServerEX 6.9 Runtime」を停止しましたが、プログラムも停止すると予想しました。

これが私の結果です:

  1. わかりません: プログラムが起動すると、イベント ログにエントリが作成されます。これは「KEPServerEX 6.9 Runtime」には当てはまりません。また、「KEP...」もログを作成しないため、このテストがどこで成功したかはわかりません。
  2. 私のプログラムは停止しませんでした。

コンピュータを再起動したときにプログラムが「KEPServerEX 6.9 Runtime」の後にのみ起動することを証明できたとしても、(ポイント 2 を見ると) Windows サービスの依存関係の意味は何なのか疑問に思います。

私は Windows 10 コンピューターで作業していますが、顧客は Windows Server 2016 を使用しています。回答は両方のオペレーティング システムで有効であることを希望します。

ご参考までに: 「KEPServerEX 6.9 Runtime」は商用ツールであるため、変更することはできません。

答え1

マイクロソフトの sc.exe 設定:

依存=<dependencies>

このサービスの前に開始する必要があるサービスまたはグループの名前を指定します。名前はスラッシュ (/) で区切られます。

依存関係が存在する唯一の理由は、Windows の起動プロセスに何らかの秩序をもたらすことです。

起動後は、依存サービスを再起動する場合を除き、依存関係は効果がありません。

関連情報