この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

ServiceProcessInstaller クラス

 

公開日: 2016年11月

拡張するクラスを含む実行可能ファイルをインストール ServiceBaseします。 このクラスは、サービス アプリケーションをインストールするときに、InstallUtil.exe などのインストール ユーティリティによって呼び出されます。

名前空間:   System.ServiceProcess
アセンブリ:  System.ServiceProcess (System.ServiceProcess.dll 内)

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Configuration.Install.Installer
        System.Configuration.Install.ComponentInstaller
          System.ServiceProcess.ServiceProcessInstaller

public class ServiceProcessInstaller : ComponentInstaller

名前説明
System_CAPS_pubmethodServiceProcessInstaller()

ServiceProcessInstaller クラスの新しいインスタンスを作成します。

名前説明
System_CAPS_pubpropertyAccount

取得またはこのサービス アプリケーションの実行に使用するアカウントの種類を設定します。

System_CAPS_protpropertyCanRaiseEvents

コンポーネントがイベントを発生させることができるかどうかを示す値を取得します。(Component から継承されます。)

System_CAPS_pubpropertyContainer

取得、 IContainer を含む、 Componentです。(Component から継承されます。)

System_CAPS_pubpropertyContext

現在のインストールに関する情報を取得または設定します。(Installer から継承されます。)

System_CAPS_protpropertyDesignMode

示す値を取得するかどうか、 Component デザイン モードになっています。(Component から継承されます。)

System_CAPS_protpropertyEvents

これに関連付けられているイベント ハンドラーの一覧を取得 Componentします。(Component から継承されます。)

System_CAPS_pubpropertyHelpText

サービスのインストール オプションに表示されるテキストのヘルプを取得します。(Installer.HelpText をオーバーライドします。)

System_CAPS_pubpropertyInstallers

インストーラーが格納しているインストーラーのコレクションを取得します。(Installer から継承されます。)

System_CAPS_pubpropertyParent

インストーラーが属しているコレクションを格納しているインストーラーを取得または設定します。(Installer から継承されます。)

System_CAPS_pubpropertyPassword

取得またはサービス アプリケーションを実行するユーザー アカウントに関連付けられているパスワードを設定します。

System_CAPS_pubpropertySite

取得または設定、 ISiteComponentです。(Component から継承されます。)

System_CAPS_pubpropertyUsername

取得またはサービス アプリケーションを実行するユーザー アカウントを設定します。

名前説明
System_CAPS_pubmethodCommit(IDictionary)

派生クラスによってオーバーライドされた場合、インストール トランザクションを完了します。(Installer から継承されます。)

System_CAPS_pubmethodCopyFromComponent(IComponent)

基本クラスを実装する ComponentInstaller.CopyFromComponent なしでメソッド ServiceProcessInstaller クラス固有の動作です。(ComponentInstaller.CopyFromComponent(IComponent) をオーバーライドします。)

System_CAPS_pubmethodCreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要なすべての関連情報を格納しているオブジェクトを作成します。(MarshalByRefObject から継承されます。)

System_CAPS_pubmethodDispose()

Component によって使用されているすべてのリソースを解放します。(Component から継承されます。)

System_CAPS_protmethodDispose(Boolean)

Component によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。(Component から継承されます。)

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_protmethodFinalize()

Component がガベージ コレクションによって回収される前に、アンマネージ リソースを解放し、その他のクリーンアップ操作を実行します。(Component から継承されます。)

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetLifetimeService()

このインスタンスの有効期間ポリシーを制御する現在の有効期間サービス オブジェクトを取得します。(MarshalByRefObject から継承されます。)

System_CAPS_protmethodGetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。(Component から継承されます。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodInitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。(MarshalByRefObject から継承されます。)

System_CAPS_pubmethodInstall(IDictionary)

サービス アプリケーションの情報をレジストリに書き込みます。 このメソッドは、自動的に適切なメソッドを呼び出したセットアップ ツールで使用することはできます。(Installer.Install(IDictionary) をオーバーライドします。)

System_CAPS_pubmethodIsEquivalentInstaller(ComponentInstaller)

指定したインストーラーがインストーラーと同じオブジェクトをインストールするかどうかを判断します。(ComponentInstaller から継承されます。)

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されます。)

System_CAPS_protmethodMemberwiseClone(Boolean)

現在の簡易コピーを作成MarshalByRefObjectオブジェクト。(MarshalByRefObject から継承されます。)

System_CAPS_protmethodOnAfterInstall(IDictionary)

AfterInstall イベントを発生させます。(Installer から継承されます。)

System_CAPS_protmethodOnAfterRollback(IDictionary)

AfterRollback イベントを発生させます。(Installer から継承されます。)

System_CAPS_protmethodOnAfterUninstall(IDictionary)

AfterUninstall イベントを発生させます。(Installer から継承されます。)

System_CAPS_protmethodOnBeforeInstall(IDictionary)

BeforeInstall イベントを発生させます。(Installer から継承されます。)

System_CAPS_protmethodOnBeforeRollback(IDictionary)

BeforeRollback イベントを発生させます。(Installer から継承されます。)

System_CAPS_protmethodOnBeforeUninstall(IDictionary)

BeforeUninstall イベントを発生させます。(Installer から継承されます。)

System_CAPS_protmethodOnCommitted(IDictionary)

Committed イベントを発生させます。(Installer から継承されます。)

System_CAPS_protmethodOnCommitting(IDictionary)

Committing イベントを発生させます。(Installer から継承されます。)

System_CAPS_pubmethodRollback(IDictionary)

インストール プロシージャによって、レジストリに書き込まれたサービス アプリケーションの情報をロールバックします。 このメソッドは、インストール ツールは、適切なメソッドを自動的に処理が使用することはできます。(Installer.Rollback(IDictionary) をオーバーライドします。)

System_CAPS_pubmethodToString()

返します。、 String の名前を含む、 Component, 、存在する場合。 このメソッドはオーバーライドできません。(Component から継承されます。)

System_CAPS_pubmethodUninstall(IDictionary)

派生クラスによってオーバーライドされた場合、インストール内容を削除します。(Installer から継承されます。)

名前説明
System_CAPS_pubeventAfterInstall

Installers プロパティ内のすべてのインストーラーの Install メソッドが実行された後で発生します。(Installer から継承されます。)

System_CAPS_pubeventAfterRollback

Installers プロパティ内のすべてのインストーラーによるインストールがロールバックされた後で発生します。(Installer から継承されます。)

System_CAPS_pubeventAfterUninstall

Installers プロパティ内のすべてのインストーラーのアンインストールが実行された後で発生します。(Installer から継承されます。)

System_CAPS_pubeventBeforeInstall

インストーラー コレクション内の各インストーラーの Install メソッドが実行される前に発生します。(Installer から継承されます。)

System_CAPS_pubeventBeforeRollback

Installers プロパティ内のインストーラーがロールバックされる前に発生します。(Installer から継承されます。)

System_CAPS_pubeventBeforeUninstall

Installers プロパティ内のインストーラーのアンインストールが実行される前に発生します。(Installer から継承されます。)

System_CAPS_pubeventCommitted

Installers プロパティ内のすべてのインストーラーがインストールをコミットした後で発生します。(Installer から継承されます。)

System_CAPS_pubeventCommitting

Installers プロパティ内のインストーラーがインストールをコミットする前に発生します。(Installer から継承されます。)

System_CAPS_pubeventDisposed

呼び出しによってコンポーネントが破棄されるときに発生、 Dispose メソッドです。(Component から継承されます。)

ServiceProcessInstaller が、実行可能ファイルですべてのサービスに共通する機能です。 インストールするサービスに関連するレジストリ値を書き込むため、インストール ユーティリティによって使用されます。

継承されるプロジェクト インストーラー クラスを作成、サービスをインストールする Installer, 、設定と、 RunInstallerAttribute クラスに対し、 trueです。 プロジェクト内で 1 つのインスタンスを作成 ServiceProcessInstaller サービス アプリケーションと 1 つあたりのインスタンス ServiceInstaller アプリケーション内の各サービスのインスタンス。 最後に、追加、 ServiceProcessInstaller インスタンスおよび ServiceInstaller プロジェクト インストーラー クラスのインスタンス。

InstallUtil.exe を実行すると、ユーティリティは、サービス アセンブリにクラス、 RunInstallerAttribute 設定 trueします。 追加することで、サービス アセンブリにクラスを追加、 Installers プロジェクト インストーラーに関連付けられているコレクション。 場合 RunInstallerAttributefalse, 、インストール ユーティリティには、プロジェクト インストーラーが無視されます。

インスタンスの ServiceProcessInstaller, 、ログオン ユーザーとは別のアカウントでサービス アプリケーションを実行することを指定するプロパティ変更できますにはが含まれます。 特定を指定する UsernamePassword ペアをサービスが実行すると、または使用することができます Account をコンピューターのシステム アカウント、ローカルまたはネットワーク サービス アカウントまたはユーザー アカウントでサービスを実行することを指定します。

System_CAPS_noteメモ

コンピューターのシステム アカウントは、管理者アカウントと同じではありません。

通常、呼び出さないメソッドに ServiceInstaller 、コード内で一般的にして呼び出されただけインストール ユーティリティです。 インストール ユーティリティは、 ServiceProcessInstaller.InstallServiceInstaller.Install インストール プロセス中にメソッドです。 バックアップ実行の障害を必要に応じてを呼び出して Rollback (または ServiceInstaller.Rollback) 以前にインストールされたすべてのコンポーネントにします。

アプリケーションのインストールにはプロジェクトのインストーラーを使用して、既にインストールされているコンポーネントを自動的に情報が格納 Installer.Contextします。 この状態が継続的に情報として、 ServiceProcessInstaller インスタンスとその各 ServiceInstaller ユーティリティによってインスタンスがインストールされています。 場合によっては、通常、この状態情報を明示的に変更するコードの必要はありません。

インスタンス化する、 ServiceProcessInstaller 基本クラス コンス トラクターと、 ComponentInstaller, 、呼び出されます。

次の例から継承される MyProjectInstaller と呼ばれるプロジェクト インストーラー Installerします。 2 つのサービスでは、「Hello World サービス 1」を含むサービス実行可能ファイルがあることが前提とし、"Hello World サービス 2" です。 (これは、インストール ユーティリティによって呼び出されます) MyProjectInstaller のコンス トラクター内で ServiceInstaller オブジェクトは、各サービスの作成と ServiceProcessInstaller 実行可能ファイルが作成されます。 インストール ユーティリティが有効なインストーラーとして MyProjectInstaller を認識する、 RunInstallerAttribute に属性が設定されている trueします。

インストーラーに追加される前に、プロセスのインストーラーおよびサービスのインストーラーで省略可能なプロパティが設定されて、 Installers コレクションです。 オブジェクトに追加インストール ユーティリティ、MyProjectInstaller にアクセスするときに、 Installers を呼び出すことによってコレクション InstallerCollection.Add 順番でインストールされています。 処理中は、インストーラーは、各オブジェクトのバックアップ順番でインストール エラーが発生した場合、どのオブジェクトがインストールされているを示す状態情報を保持します。

通常はインスタンス化するありませんプロジェクト インストーラー クラス明示的にします。 作成し、追加すると、 RunInstallerAttribute, がインストール ユーティリティが実際に呼び出すし、そのため、クラスを初期化します。

using System;
using System.Collections;
using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;

[RunInstaller(true)]
public class MyProjectInstaller : Installer
{
    private ServiceInstaller serviceInstaller1;
    private ServiceInstaller serviceInstaller2;
    private ServiceProcessInstaller processInstaller;

    public MyProjectInstaller()
    {
        // Instantiate installers for process and services.
        processInstaller = new ServiceProcessInstaller();
        serviceInstaller1 = new ServiceInstaller();
        serviceInstaller2 = new ServiceInstaller();

        // The services run under the system account.
        processInstaller.Account = ServiceAccount.LocalSystem;

        // The services are started manually.
        serviceInstaller1.StartType = ServiceStartMode.Manual;
        serviceInstaller2.StartType = ServiceStartMode.Manual;

        // ServiceName must equal those on ServiceBase derived classes.
        serviceInstaller1.ServiceName = "Hello-World Service 1";
        serviceInstaller2.ServiceName = "Hello-World Service 2";

        // Add installers to collection. Order is not important.
        Installers.Add(serviceInstaller1);
        Installers.Add(serviceInstaller2);
        Installers.Add(processInstaller);
    }

    public static void Main()
    {
        Console.WriteLine("Usage: InstallUtil.exe [<service>.exe]");
    }
}

.NET Framework
1.1 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: