Windows サービスはグローバルにインストールされていますか?

Windows サービスはグローバルにインストールされていますか?

シンプルな C# Windows サービスをコーディングしました。 を使用してインストールした場合installutil、システムのすべてのユーザーがサービスを利用できるようになりますか?

サーバー オペレーティング システムの場合、サーバーの起動時にサービスが自動的に開始されるようにするには、どのアカウントでサービスをインストールする必要がありますか?

これについて少し説明してください。

答え1

はい。 通常の Windows サービスは本質的にグローバルです。サービスのインストールにどのアカウントが使用されたかは関係ありません。私の知る限り、Windows はその情報さえ記録しません。

サービスをインストールするには管理者権限が必要です。

Windowsでサービスが自動的に開始されるように設定するには、サービスの開始タイプを適切に設定します。方法: サービス アプリケーションにインストーラーを追加します。

補遺:サービスがドメイン アカウントで実行されている場合、状況によってはサービスを遅延開始するように構成する必要があることがあります。 この答え.NET でこれを行う方法を説明しています。手動で開始するとサービスが正常に実行されるが、自動的に開始すると「ユーザー名またはパスワードが無効です」というタイプのエラーが発生する場合は、遅延開始を構成すると役立つ場合があります。問題の根本的な原因はまだわかりません。

(サービスがSERVICE_USER_OWN_PROCESSまたはSERVICE_USER_SHARE_PROCESSタイプを使用する場合、ログオンしたユーザーごとにサービスの個別のインスタンスが存在し、この種のサービスの動作は適切に文書化されていないようです。ただし、答えは同じであると思います。インストールは依然としてグローバルであり、どのアカウントがサービスをインストールしても違いはありません。)

関連情報