次の方法で共有


Installer クラス

定義

カスタム インストールに利用できる基本機能を提供します。

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

次の例では、 クラスの使用方法を Installer 示します。 から Installer継承するクラスが作成されます。 Commitが完了すると、Committingイベントが発生し、メッセージが表示されます。 クラスを Installer 使用するには、プロジェクトで System.Configuration.Install アセンブリを参照する必要があります。

#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

注釈

これは、すべての.NET Framework のカスタムインストーラーの基底クラスです。 インストーラーは、コンピューターにアプリケーションをインストールするコンポーネントです。

Installerを使用するには、 次の手順を実行する必要があります。

  • Installerクラスを継承します。

  • Installメソッド、Commitメソッド、Rollbackメソッド、Uninstallメソッドをすべてオーバーライドします。

  • 派生クラスにRunInstallerAttribute属性をtrueで追加します。

  • 派生クラスおよびインストールするアプリケーションをアセンブリに配置します。

  • インストーラーを起動します。 たとえば、InstallUtil.exe を使用してインストーラーを呼び出します。

Installersプロパティは、インストーラーのコレクションを格納します。 このInstallerのインスタンスがインストーラーコレクションの一部である場合、Parentプロパティをコレクションを含むInstallerインスタンスに設定します。 Installersコレクションの使用例については、AssemblyInstallerクラスを参照してください。

クラスの 、、、および Uninstall メソッドはInstall、 プロパティに格納されているインストーラーのコレクションをInstallers通過し、各インストーラーの対応するメソッドを呼び出します。 RollbackCommitInstaller

InstallRollback、および Uninstall の各メソッドは、常に同じInstallerインスタンスで呼び出されるとCommitは限りません。 たとえば、アプリケーションのインストールとコミット中に 1 つの Installer インスタンスが使用され、そのインスタンスへの参照が解放される場合があります。 後でアプリケーションをアンインストールすると、新しい Installer インスタンスへの参照が作成されます。つまり Uninstall 、 メソッドは の別の Installerインスタンスによって呼び出されます。 このため、派生クラスでは、コンピューターの状態をインストーラーに保存しないでください。 代わりに、呼び出し間で保持され、、Commit、、および Uninstall メソッドに渡される を使用IDictionaryしますInstallRollback

2 つの状況は、状態セーバー に情報を保存する必要がある場合を示しています IDictionary。 まず、インストーラーによってレジストリ キーが設定されたとします。 キーの元の値を に保存する IDictionary必要があります。 インストールがロールバックされた場合は、元の値を復元できます。 次に、インストーラーが既存のファイルを置き換えたとします。 既存のファイルを一時ディレクトリに保存し、 内のファイルの新しい場所の場所を IDictionary保存します。 インストールがロールバックされると、新しいファイルが削除され、一時的な場所から元のファイルに置き換えられます。

Installer.Contextプロパティには、インストールに関する情報が含まれています。 たとえば、インストールのログ ファイルの場所、メソッドで Uninstall 必要な情報を保存するファイルの場所、インストール実行可能ファイルの実行時に入力されたコマンド ラインに関する情報などです。

コンストラクター

Installer()

Installer クラスの新しいインスタンスを初期化します。

プロパティ

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
Container

IContainer を含む Component を取得します。

(継承元 Component)
Context

現在のインストールに関する情報を取得または設定します。

DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
HelpText

インストーラー コレクション内のすべてのインストーラーに関するヘルプ テキストを取得します。

Installers

インストーラーが格納しているインストーラーのコレクションを取得します。

Parent

インストーラーが属しているコレクションを格納しているインストーラーを取得または設定します。

Site

ComponentISite を取得または設定します。

(継承元 Component)

メソッド

Commit(IDictionary)

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

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

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

(継承元 Component)
Dispose(Boolean)

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

(継承元 Component)
Equals(Object)

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

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
古い.

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetService(Type)

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

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
Install(IDictionary)

派生クラスによってオーバーライドされた場合、インストールを実行します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
OnAfterInstall(IDictionary)

AfterInstall イベントを発生させます。

OnAfterRollback(IDictionary)

AfterRollback イベントを発生させます。

OnAfterUninstall(IDictionary)

AfterUninstall イベントを発生させます。

OnBeforeInstall(IDictionary)

BeforeInstall イベントを発生させます。

OnBeforeRollback(IDictionary)

BeforeRollback イベントを発生させます。

OnBeforeUninstall(IDictionary)

BeforeUninstall イベントを発生させます。

OnCommitted(IDictionary)

Committed イベントを発生させます。

OnCommitting(IDictionary)

Committing イベントを発生させます。

Rollback(IDictionary)

派生クラスによってオーバーライドされた場合、インストール前のコンピューターの状態を復元します。

ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)
Uninstall(IDictionary)

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

イベント

AfterInstall

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

AfterRollback

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

AfterUninstall

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

BeforeInstall

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

BeforeRollback

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

BeforeUninstall

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

Committed

Installers プロパティ内のすべてのインストーラーがインストールをコミットした後で発生します。

Committing

Installers プロパティ内のインストーラーがインストールをコミットする前に発生します。

Disposed

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

(継承元 Component)

適用対象

こちらもご覧ください