ServiceProcessInstaller ServiceProcessInstaller ServiceProcessInstaller ServiceProcessInstaller Class


ServiceBase を拡張するクラスを含む実行可能ファイルをインストールします。Installs an executable containing classes that extend ServiceBase. このクラスは、サービス アプリケーションのインストール時に InstallUtil.exe などのインストール ユーティリティで呼び出されます。This class is called by installation utilities, such as InstallUtil.exe, when installing a service application.

public ref class ServiceProcessInstaller : System::Configuration::Install::ComponentInstaller
public class ServiceProcessInstaller : System.Configuration.Install.ComponentInstaller
type ServiceProcessInstaller = class
    inherit ComponentInstaller
Public Class ServiceProcessInstaller
Inherits ComponentInstaller

次の例から継承され、MyProjectInstaller と呼ばれるプロジェクト インストーラーを作成するInstallerします。The following example creates a project installer called MyProjectInstaller, which inherits from Installer. 「Hello World サービス 1」2 つのサービスを含むサービス実行可能ファイルがあることが前提とし、"2" Hello World のサービス。It is assumed there is a service executable that contains two services, "Hello-World Service 1" and "Hello-World Service 2". (これが、インストール ユーティリティによって呼び出されます) MyProjectInstaller のコンス トラクター内でServiceInstallerオブジェクトは、各サービスの作成とServiceProcessInstaller実行可能ファイルが作成されます。Within the constructor for MyProjectInstaller (which would be called by the install utility), ServiceInstaller objects are created for each service, and a ServiceProcessInstaller is created for the executable. インストール ユーティリティが有効なインストーラーとして MyProjectInstaller を認識する、RunInstallerAttribute属性に設定されてtrueします。For the install utility to recognize MyProjectInstaller as a valid installer, the RunInstallerAttribute attribute is set to true.

インストーラーに追加する前に、プロセスのインストーラーおよびサービスのインストーラーで省略可能なプロパティが設定されて、Installersコレクション。Optional properties are set on the process installer and the service installers before the installers are added to the Installers collection. オブジェクトに追加インストール ユーティリティが MyProjectInstaller にアクセスするときに、Installersを呼び出すことによってコレクションInstallerCollection.Add順番でインストールされています。When the install utility accesses MyProjectInstaller, the objects added to the Installers collection through a call to InstallerCollection.Add will be installed in turn. プロセスでは、インストーラーは、オブジェクトがインストールされているため、各オブジェクト バックアップできます順番でインストール エラーが発生した場合を示す状態情報を保持します。During the process, the installer maintains state information indicating which objects have been installed, so each object can be backed out in turn in case of an installation failure.

通常、いないインスタンスを作成するプロジェクト インストーラー クラスに明示的にします。Normally, you would not instantiate your project installer class explicitly. 作成し、追加し、は、RunInstallerAttributeがインストール ユーティリティを実際に呼び出すし、そのためインスタンス化のクラス。You would create it and add the RunInstallerAttribute, but the install utility actually calls, and therefore instantiates, the class.

#using <System.dll>
#using <System.ServiceProcess.dll>
#using <System.Configuration.Install.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Configuration::Install;
using namespace System::ServiceProcess;
using namespace System::ComponentModel;

public ref class MyProjectInstaller : public Installer
    ServiceInstaller^ serviceInstaller1;
    ServiceInstaller^ serviceInstaller2;
    ServiceProcessInstaller^ processInstaller;

        // Instantiate installers for process and services.
        processInstaller = gcnew ServiceProcessInstaller;
        serviceInstaller1 = gcnew ServiceInstaller;
        serviceInstaller2 = gcnew 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 );

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

int main()
using System;
using System.Collections;
using System.Configuration.Install;
using System.ServiceProcess;
using System.ComponentModel;

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.

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

Imports System
Imports System.Collections
Imports System.Configuration.Install
Imports System.ServiceProcess
Imports System.ComponentModel

<RunInstallerAttribute(True)> _
Public Class MyProjectInstaller
    Inherits Installer
    Private serviceInstaller1 As ServiceInstaller
    Private serviceInstaller2 As ServiceInstaller
    Private processInstaller As ServiceProcessInstaller    
    Public Sub New()
        ' Instantiate installers for process and services.
        processInstaller = New ServiceProcessInstaller()
        serviceInstaller1 = New ServiceInstaller()
        serviceInstaller2 = New ServiceInstaller()
        ' The services will run under the system account.
        processInstaller.Account = ServiceAccount.LocalSystem
        ' The services will be 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.
    End Sub

    Public Shared Sub Main()
        Console.WriteLine("Usage: InstallUtil.exe [<service>.exe]")
    End Sub
End Class


ServiceProcessInstallerが、実行可能ファイルですべてのサービスに共通する機能します。The ServiceProcessInstaller does work common to all services in an executable. インストールするサービスに関連付けられているレジストリ値を書き込むため、インストール ユーティリティによって使用されます。It is used by the installation utility to write registry values associated with services you want to install.

継承されるプロジェクト インストーラー クラスを作成、サービスをインストールするInstaller、設定、RunInstallerAttributeクラスに対し、trueします。To install a service, create a project installer class that inherits from Installer, and set the RunInstallerAttribute on the class to true. プロジェクト内で 1 つのインスタンスを作成ServiceProcessInstallerサービス アプリケーション、および 1 つごとにインスタンスServiceInstallerアプリケーション内の各サービスのインスタンス。Within your project, instantiate one ServiceProcessInstaller instance per service application, and one ServiceInstaller instance for each service in the application. 最後に、追加、ServiceProcessInstallerインスタンスおよびServiceInstallerプロジェクト インストーラー クラスのインスタンス。Finally, add the ServiceProcessInstaller instance and the ServiceInstaller instances to your project installer class.

InstallUtil.exe を実行すると、ユーティリティは、サービス アセンブリにクラス、RunInstallerAttribute設定trueします。When InstallUtil.exe runs, the utility looks for classes in the service assembly with the RunInstallerAttribute set to true. 追加することによって、サービス アセンブリにクラスを追加、Installersプロジェクト インストーラーに関連付けられているコレクション。Add classes to the service assembly by adding them to the Installers collection associated with your project installer. 場合RunInstallerAttributefalse、インストール ユーティリティ プロジェクト インストーラーは無視されます。If RunInstallerAttribute is false, the install utility ignores the project installer.

インスタンスのServiceProcessInstaller、ログオンしているユーザー以外のアカウントでサービス アプリケーションを実行することを指定するプロパティ変更できますにはが含まれます。For an instance of ServiceProcessInstaller, properties you can modify include specifying that a service application run under an account other than the logged-on user. 特定を指定できますUsernamePasswordサービスが実行すると、または使用できる契約ペアAccountサービスがコンピューターのシステム アカウント、ローカルまたはネットワーク サービス アカウント、またはユーザー アカウントで実行するかを指定します。You can specify a particular Username and Password pair under which the service should run, or you can use Account to specify that the service run under the computer's System account, a local or network service account, or a user account.


コンピューターのシステム アカウントは、管理者アカウントと同じではありません。The computer's System account is not the same as the Administrator account.

通常、呼び出すことはありません、メソッドでServiceInstallerは、コード内で一般的に呼び出される、インストール ユーティリティでのみです。Normally, you do not call the methods on ServiceInstaller within your code; they are generally called only by the install utility. インストール ユーティリティが自動的に呼び出し、ServiceProcessInstaller.InstallServiceInstaller.Installインストール プロセス中にメソッド。The install utility automatically calls the ServiceProcessInstaller.Install and ServiceInstaller.Install methods during the installation process. バックアップ実行の障害を必要に応じて、呼び出すことによってRollback(またはServiceInstaller.Rollback) は以前にインストールされたすべてのコンポーネント。It backs out failures, if necessary, by calling Rollback (or ServiceInstaller.Rollback) on all previously installed components.

アプリケーションのインストールが自動的にプロジェクトのインストーラーを使用して、既にインストールされているコンポーネントに関する情報を保持Installer.Contextします。An application's install routine maintains information automatically about the components already installed, using the project installer's Installer.Context. この状態情報は継続的に更新、ServiceProcessInstallerインスタンスと各ServiceInstallerユーティリティによってインスタンスがインストールされています。This state information is continuously updated as the ServiceProcessInstaller instance and each ServiceInstaller instance is installed by the utility. この状態情報を明示的に変更するコードを通常必要はありません。It is usually unnecessary for your code to modify this state information explicitly.

インスタンス化する、ServiceProcessInstaller基底クラス コンス トラクターによりComponentInstaller、呼び出されます。Instantiating a ServiceProcessInstaller causes the base class constructor, ComponentInstaller, to be called.


ServiceProcessInstaller() ServiceProcessInstaller() ServiceProcessInstaller() ServiceProcessInstaller()

ServiceProcessInstaller クラスの新しいインスタンスを作成します。Creates a new instance of the ServiceProcessInstaller class.


Account Account Account Account

サービス アプリケーションを実行するときに使用するアカウントの種類を取得または設定します。Gets or sets the type of account under which to run this service application.

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

IContainer を格納している Component を取得します。Gets the IContainer that contains the Component.

(Inherited from Component)
Context Context Context Context

現在のインストールに関する情報を取得または設定します。Gets or sets information about the current installation.

(Inherited from Installer)
DesignMode DesignMode DesignMode DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Component に結び付けられているイベント ハンドラーのリストを取得します。Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
HelpText HelpText HelpText HelpText

サービスのインストール オプションに関する情報を表示するヘルプのテキストを取得します。Gets help text displayed for service installation options.

Installers Installers Installers Installers

インストーラーが格納しているインストーラーのコレクションを取得します。Gets the collection of installers that this installer contains.

(Inherited from Installer)
Parent Parent Parent Parent

インストーラーが属しているコレクションを格納しているインストーラーを取得または設定します。Gets or sets the installer containing the collection that this installer belongs to.

(Inherited from Installer)
Password Password Password Password

サービス アプリケーションを実行するときに使用するユーザー アカウントに関連付けられたパスワードを取得または設定します。Gets or sets the password associated with the user account under which the service application runs.

Site Site Site Site

ComponentISite を取得または設定します。Gets or sets the ISite of the Component.

(Inherited from Component)
Username Username Username Username

サービス アプリケーションを実行するときに使用するユーザー アカウントを取得または設定します。Gets or sets the user account under which the service application will run.


Commit(IDictionary) Commit(IDictionary) Commit(IDictionary) Commit(IDictionary)

派生クラスによってオーバーライドされた場合、インストール トランザクションを完了します。When overridden in a derived class, completes the install transaction.

(Inherited from Installer)
CopyFromComponent(IComponent) CopyFromComponent(IComponent) CopyFromComponent(IComponent) CopyFromComponent(IComponent)

CopyFromComponent(IComponent) クラス固有の動作を行わない、基本クラスの ServiceProcessInstaller メソッドを実装します。Implements the base class CopyFromComponent(IComponent) method with no ServiceProcessInstaller class-specific behavior.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Component によって使用されているすべてのリソースを解放します。Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
Install(IDictionary) Install(IDictionary) Install(IDictionary) Install(IDictionary)

サービス アプリケーション情報をレジストリに書き込みます。Writes service application information to the registry. このメソッドは、セットアップ ツールで使用されます。セットアップ ツールは適切なメソッドを自動的に呼び出します。This method is meant to be used by installation tools, which call the appropriate methods automatically.

IsEquivalentInstaller(ComponentInstaller) IsEquivalentInstaller(ComponentInstaller) IsEquivalentInstaller(ComponentInstaller) IsEquivalentInstaller(ComponentInstaller)

指定したインストーラーが、対象のインストーラーと同じオブジェクトをインストールするかどうかを確認します。Determines if the specified installer installs the same object as this installer.

(Inherited from ComponentInstaller)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
OnAfterInstall(IDictionary) OnAfterInstall(IDictionary) OnAfterInstall(IDictionary) OnAfterInstall(IDictionary)

AfterInstall イベントを発生させます。Raises the AfterInstall event.

(Inherited from Installer)
OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary)

AfterRollback イベントを発生させます。Raises the AfterRollback event.

(Inherited from Installer)
OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary)

AfterUninstall イベントを発生させます。Raises the AfterUninstall event.

(Inherited from Installer)
OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary)

BeforeInstall イベントを発生させます。Raises the BeforeInstall event.

(Inherited from Installer)
OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary)

BeforeRollback イベントを発生させます。Raises the BeforeRollback event.

(Inherited from Installer)
OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary)

BeforeUninstall イベントを発生させます。Raises the BeforeUninstall event.

(Inherited from Installer)
OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary)

Committed イベントを発生させます。Raises the Committed event.

(Inherited from Installer)
OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary)

Committing イベントを発生させます。Raises the Committing event.

(Inherited from Installer)
Rollback(IDictionary) Rollback(IDictionary) Rollback(IDictionary) Rollback(IDictionary)

インストール プロシージャによってレジストリに書き込まれたサービス アプリケーション情報をロールバックします。Rolls back service application information written to the registry by the installation procedure. このメソッドは、セットアップ ツールで使用されます。セットアップ ツールは適切なメソッドを自動的に処理します。This method is meant to be used by installation tools, which process the appropriate methods automatically.

ToString() ToString() ToString() ToString()

Component の名前 (存在する場合) を格納する String を返します。Returns a String containing the name of the Component, if any. このメソッドはオーバーライドできません。This method should not be overridden.

(Inherited from Component)
Uninstall(IDictionary) Uninstall(IDictionary) Uninstall(IDictionary) Uninstall(IDictionary)

派生クラスによってオーバーライドされた場合、インストール内容を削除します。When overridden in a derived class, removes an installation.

(Inherited from Installer)


AfterInstall AfterInstall AfterInstall AfterInstall

Installers プロパティ内のすべてのインストーラーの Install(IDictionary) メソッドが実行された後で発生します。Occurs after the Install(IDictionary) methods of all the installers in the Installers property have run.

(Inherited from Installer)
AfterRollback AfterRollback AfterRollback AfterRollback

Installers プロパティ内のすべてのインストーラーによるインストールがロールバックされた後で発生します。Occurs after the installations of all the installers in the Installers property are rolled back.

(Inherited from Installer)
AfterUninstall AfterUninstall AfterUninstall AfterUninstall

Installers プロパティ内のすべてのインストーラーのアンインストールが実行された後で発生します。Occurs after all the installers in the Installers property perform their uninstallation operations.

(Inherited from Installer)
BeforeInstall BeforeInstall BeforeInstall BeforeInstall

インストーラー コレクション内の各インストーラーの Install(IDictionary) メソッドが実行される前に発生します。Occurs before the Install(IDictionary) method of each installer in the installer collection has run.

(Inherited from Installer)
BeforeRollback BeforeRollback BeforeRollback BeforeRollback

Installers プロパティ内のインストーラーがロールバックされる前に発生します。Occurs before the installers in the Installers property are rolled back.

(Inherited from Installer)
BeforeUninstall BeforeUninstall BeforeUninstall BeforeUninstall

Installers プロパティ内のインストーラーのアンインストールが実行される前に発生します。Occurs before the installers in the Installers property perform their uninstall operations.

(Inherited from Installer)
Committed Committed Committed Committed

Installers プロパティ内のすべてのインストーラーがインストールをコミットした後で発生します。Occurs after all the installers in the Installers property have committed their installations.

(Inherited from Installer)
Committing Committing Committing Committing

Installers プロパティ内のインストーラーがインストールをコミットする前に発生します。Occurs before the installers in the Installers property commit their installations.

(Inherited from Installer)
Disposed Disposed Disposed Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されると発生します。Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)