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.Configuration.Installプロジェクト内のアセンブリ。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 occured." );
      Console::WriteLine( "" );
   }


   // Event handler for 'Committed' event.
   void MyInstaller_Committed( Object^ sender, InstallEventArgs^ e )
   {
      Console::WriteLine( "" );
      Console::WriteLine( "Committed Event occured." );
      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 occured.");
      Console.WriteLine("");
   }
   // Event handler for 'Committed' event.
   private void MyInstaller_Committed(object sender, InstallEventArgs e)
   {
      Console.WriteLine("");
      Console.WriteLine("Committed Event occured.");
      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
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 'New

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

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

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

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

   ' Override the 'Rollback' method.
   Public Overrides Sub Rollback(ByVal savedState As IDictionary)
      MyBase.Rollback(savedState)
   End Sub 'Rollback
   Public Shared Sub Main()
      Console.WriteLine("Usage : installutil.exe Installer.exe ")
   End Sub 'Main
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.

  • 上書き、 InstallCommitRollback、およびUninstallメソッド。Override the Install, Commit, Rollback, and Uninstall methods.

  • 追加、RunInstallerAttribute派生するクラスに設定し、trueします。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.

InstallCommitRollback、およびUninstallのメソッド、Installerクラスに格納されているインストーラーのコレクションを経由、Installersプロパティ、各インストーラーの対応するメソッドを呼び出すとします。The 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.

InstallCommitRollback、およびUninstallメソッドは、常に同じでは呼び出されませんInstallerインスタンス。The Install, Commit, Rollback, and Uninstall methods are not always called on the same Installer instance. たとえば、1 つInstallerインスタンスをインストールして、アプリケーションをコミットするときに使用される可能性があり、そのインスタンスへの参照が解放されます。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は呼び出し間で保持されに渡される、 InstallCommitRollback、および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 committ their installations.

Disposed Disposed Disposed Disposed

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

(Inherited from Component)

適用対象

こちらもご覧ください