Installer Installer Installer Installer Class

定義

カスタム インストールに利用できる基本機能を提供します。Provides the foundation for custom installations.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
継承
派生

Installerクラスの使用例を次に示します。The following example demonstrates the use of the Installer class. これは、からInstaller継承するクラスを作成します。It creates a class which inherits from Installer. Commit完了すると、 Committingイベントが発生し、メッセージが表示されます。When Commit is about to complete, Committing event occurs and a message is displayed. Installerクラスを使用するには、プロジェクトで**** system.servicemodel アセンブリを参照する必要があります。To use the Installer class, you must reference the System.Configuration.Install assembly in your project.

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

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

// Set 'RunInstaller' attribute to true.

[RunInstaller(true)]
ref class MyInstallerClass: public Installer
{
private:

   // Event handler for 'Committing' event.
   void MyInstaller_Committing( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "Committing Event occurred." );
      Console::WriteLine( "" );
   }


   // Event handler for 'Committed' event.
   void MyInstaller_Committed( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "Committed Event occurred." );
      Console::WriteLine( "" );
   }


public:
   MyInstallerClass()
   {
      
      // Attach the 'Committed' event.
      this->Committed += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_Committed );
      
      // Attach the 'Committing' event.
      this->Committing += gcnew InstallEventHandler( this, &MyInstallerClass::MyInstaller_Committing );
   }


   // Override the 'Install' method.
   virtual void Install( IDictionary^ savedState ) override
   {
      Installer::Install( savedState );
   }


   // Override the 'Commit' method.
   virtual void Commit( IDictionary^ savedState ) override
   {
      Installer::Commit( savedState );
   }


   // Override the 'Rollback' method.
   virtual void Rollback( IDictionary^ savedState ) override
   {
      Installer::Rollback( savedState );
   }

};

int main()
{
   Console::WriteLine( "Usage : installutil.exe Installer.exe " );
}

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

// Set 'RunInstaller' attribute to true.
[RunInstaller(true)]
public class MyInstallerClass: Installer
{
   public MyInstallerClass() :base()
   {
      // Attach the 'Committed' event.
      this.Committed += new InstallEventHandler(MyInstaller_Committed);
      // Attach the 'Committing' event.
      this.Committing += new InstallEventHandler(MyInstaller_Committing);

   }
   // Event handler for 'Committing' event.
   private void MyInstaller_Committing(object sender, InstallEventArgs e)
   {
      Console.WriteLine("");
      Console.WriteLine("Committing Event occurred.");
      Console.WriteLine("");
   }
   // Event handler for 'Committed' event.
   private void MyInstaller_Committed(object sender, InstallEventArgs e)
   {
      Console.WriteLine("");
      Console.WriteLine("Committed Event occurred.");
      Console.WriteLine("");
   }
   // Override the 'Install' method.
   public override void Install(IDictionary savedState)
   {
      base.Install(savedState);
   }
   // Override the 'Commit' method.
   public override void Commit(IDictionary savedState)
   {
      base.Commit(savedState);
   }
   // Override the 'Rollback' method.
   public override void Rollback(IDictionary savedState)
   {
      base.Rollback(savedState);
   }
   public static void Main()
   {
      Console.WriteLine("Usage : installutil.exe Installer.exe ");
   }
}
Imports System.Collections
Imports System.ComponentModel
Imports System.Configuration.Install

' Set 'RunInstaller' attribute to true.
<RunInstaller(True)> _
Public Class MyInstallerClass
   Inherits Installer

   Public Sub New()
       MyBase.New()
      ' Attach the 'Committed' event.
      AddHandler Me.Committed, AddressOf MyInstaller_Committed
      ' Attach the 'Committing' event.
      AddHandler Me.Committing, AddressOf MyInstaller_Committing
   End Sub

   ' Event handler for 'Committing' event.
   Private Sub MyInstaller_Committing(ByVal sender As Object, _
                                      ByVal e As InstallEventArgs)
      Console.WriteLine("")
      Console.WriteLine("Committing Event occurred.")
      Console.WriteLine("")
   End Sub

   ' Event handler for 'Committed' event.
   Private Sub MyInstaller_Committed(ByVal sender As Object, _
                                     ByVal e As InstallEventArgs)
      Console.WriteLine("")
      Console.WriteLine("Committed Event occurred.")
      Console.WriteLine("")
   End Sub

   ' Override the 'Install' method.
   Public Overrides Sub Install(ByVal savedState As IDictionary)
      MyBase.Install(savedState)
   End Sub

   ' Override the 'Commit' method.
   Public Overrides Sub Commit(ByVal savedState As IDictionary)
      MyBase.Commit(savedState)
   End Sub

   ' Override the 'Rollback' method.
   Public Overrides Sub Rollback(ByVal savedState As IDictionary)
      MyBase.Rollback(savedState)
   End Sub
   Public Shared Sub Main()
      Console.WriteLine("Usage : installutil.exe Installer.exe ")
   End Sub
End Class 'MyInstallerClass

注釈

これは、.NET Framework 内のすべてのカスタムインストーラーの基本クラスです。This is the base class for all custom installers in the .NET Framework. インストーラーは、コンピューターにアプリケーションをインストールするのに役立つコンポーネントです。Installers are components that help install applications on a computer.

を使用するには、 Installer次のいくつかの手順を実行する必要があります。There are several steps you must follow to use an Installer:

  • クラスをInstaller継承します。Inherit the Installer class.

  • 、 、、およびInstallUninstall各メソッドをオーバーライドします。 Commit RollbackOverride the Install, Commit, Rollback, and Uninstall methods.

  • を派生クラスtrueに追加し、をにRunInstallerAttribute設定します。Add the RunInstallerAttribute to your derived class and set it to true.

  • アプリケーションをインストールするために、派生クラスをアセンブリに配置します。Put your derived class in the assembly with your application to install.

  • インストーラーを呼び出します。Invoke the installers. たとえば、Installutil.exe を使用してインストーラーを呼び出します。For example, use the InstallUtil.exe to invoke the installers.

プロパティInstallersは、インストーラーのコレクションを格納します。The Installers property contains a collection of installers. Installerこのインスタンスがインストーラーコレクションの一部Parentである場合、 Installerプロパティは、コレクションを含むインスタンスに設定されます。If this instance of Installer is part of an installer collection, the Parent property is set to the Installer instance that contains the collection. Installersコレクションの使用例についAssemblyInstallerては、クラスを参照してください。For an example of the use of the Installers collection, see the AssemblyInstaller class.

Install CommitクラスのRollback Installers 、、 、Uninstallの各メソッドは、プロパティに格納されているインストーラーのコレクションを参照し、各インストーラーの対応するメソッドを呼び出します。 InstallerThe Install, Commit, Rollback, and Uninstall methods of the Installer class go through the collection of installers stored in the Installers property, and invokes the corresponding method of each installer.

Uninstall InstallerInstallCommit、およびの各メソッドは、同じインスタンス上で常に呼び出されるとは限りません。 RollbackThe Install, Commit, Rollback, and Uninstall methods are not always called on the same Installer instance. たとえば、アプリケーションのInstallerインストールとコミット中に1つのインスタンスが使用され、その後、そのインスタンスへの参照が解放されます。For example, one Installer instance might be used while installing and committing an application, and then the reference to that instance is released. 後で、アプリケーションをアンインストールすると、新しいInstallerインスタンスへの参照が作成されます。つまりUninstall 、の別Installerのインスタンスによってメソッドが呼び出されます。Later, uninstalling the application creates a reference to a new Installer instance, meaning that the Uninstall method is called by a different instance of Installer. このため、派生クラスでは、コンピューターの状態をインストーラーで保存しないでください。For this reason, in your derived class, do not save the state of a computer in an installer. 代わりに、呼び出し間IDictionaryで保持されInstallCommit Rollback、、、およびUninstallの各メソッドに渡されるを使用します。Instead, use an IDictionary that is preserved across calls and passed into your Install, Commit, Rollback, and Uninstall methods.

2つの状況では、情報をステートセーバー IDictionaryに保存する必要があることを示しています。Two situations illustrate the need to save information in the state-saver IDictionary. まず、インストーラーによってレジストリキーが設定されているとします。First, suppose that your installer sets a registry key. ここでは、 IDictionaryキーの元の値をに保存します。It should save the key's original value in the IDictionary. インストールがロールバックされた場合は、元の値を復元できます。If the installation is rolled back, the original value can be restored. 次に、インストーラーによって既存のファイルが置き換えられるとします。Second, suppose the installer replaces an existing file. 既存のファイルを一時ディレクトリに保存し、そのIDictionaryファイルの新しい場所をに保存します。Save the existing file in a temporary directory and the location of the new location of the file in the IDictionary. インストールがロールバックされると、新しいファイルが削除され、一時的な場所から元のファイルに置き換えられます。If the installation is rolled back, the newer file is deleted and replaced by the original from the temporary location.

プロパティInstaller.Contextには、インストールに関する情報が含まれています。The Installer.Context property contains information about the installation. たとえば、インストールのログファイルの場所、 Uninstallメソッドで必要な情報を保存するファイルの場所、およびインストール実行可能ファイルの実行時に入力されたコマンドラインに関する情報があります。For example, information about the location of the log file for the installation, the location of the file to save information required by the Uninstall method, and the command line that was entered when the installation executable was run.

コンストラクター

Installer() Installer() Installer() Installer()

Installer クラスの新しいインスタンスを初期化します。Initializes a new instance of the Installer class.

プロパティ

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.

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 the help text for all the installers in the installer collection.

Installers Installers Installers Installers

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

Parent Parent Parent Parent

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

Site Site Site Site

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

(Inherited from Component)

メソッド

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

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

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)

派生クラスによってオーバーライドされた場合、インストールを実行します。When overridden in a derived class, performs the installation.

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.

OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary)

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

OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary)

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

OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary)

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

OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary)

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

OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary)

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

OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary)

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

OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary)

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

Rollback(IDictionary) Rollback(IDictionary) Rollback(IDictionary) Rollback(IDictionary)

派生クラスによってオーバーライドされた場合、インストール前のコンピューターの状態を復元します。When overridden in a derived class, restores the pre-installation state of the computer.

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.

イベント

AfterInstall AfterInstall AfterInstall AfterInstall

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

AfterRollback AfterRollback AfterRollback AfterRollback

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

AfterUninstall AfterUninstall AfterUninstall AfterUninstall

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

BeforeInstall BeforeInstall BeforeInstall BeforeInstall

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

BeforeRollback BeforeRollback BeforeRollback BeforeRollback

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

BeforeUninstall BeforeUninstall BeforeUninstall BeforeUninstall

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

Committed Committed Committed Committed

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

Committing Committing Committing Committing

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

Disposed Disposed Disposed Disposed

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

(Inherited from Component)

適用対象

こちらもご覧ください