英語で読む

次の方法で共有


InstallException クラス

定義

インストールのコミット、ロールバック、またはアンインストールの各フェーズでエラーが発生したときにスローされる例外。

C#
[System.Serializable]
public class InstallException : SystemException
継承
InstallException
属性

次の例とコンストラクターの例は InstallException 、独自のインストーラーを持つアセンブリを示す例をまとめて構成しています。 インストーラーには という名前が付けられます MyInstaller。この名前には 属性 RunInstallerAttributeがあり、このインストーラーが Installutil.exe (インストーラー ツール) によって呼び出されることを示します。 Installutil.exe (インストーラー ツール) は、、、RollbackInstallおよび Uninstallの各メソッドをCommit呼び出します。 の Commit コードは、アセンブリのインストールをコミットする前に、 という名前 FileDoesNotExist.txt のファイルが存在することを前提としています。 ファイル FileDoesNotExist.txt が存在しない場合は、 CommitInstallException発生させます。 アンインストールは Uninstall 、 という名前 FileDoesNotExist.txt のファイルが存在する場合にのみ発生する場合も同じです。 それ以外の場合は、 が発生します InstallException。 では Rollback、コード フラグメントが実行され、例外が発生する可能性があります。 例外が発生すると、例外がキャッチされ、 が発生し InstallException 、その例外が渡されます。

注意

Installutil.exe の助けを借りて、この例を実行します。 コマンド プロンプトで次のように入力します。

Installutil InstallException.exe

- または -

Installutil /u InstallException.exe

C#
using System;
using System.ComponentModel;
using System.Collections;
using System.Configuration.Install;
using System.IO;

[RunInstaller(true)]
public class MyInstaller : Installer
{
   public override void Install(IDictionary savedState)
   {
      base.Install(savedState);
      Console.WriteLine("Install ...");

      // Commit is called when install goes through successfully.
      // Rollback is called if there is any error during Install.

      // Uncommenting the code below will lead to 'RollBack' being called,
      // currently 'Commit' shall be called.

      // throw new IOException();
   }

   public override void Commit(IDictionary savedState)
   {
      base.Commit(savedState);
      Console.WriteLine("Commit ...");
      // Throw an error if a particular file doesn't exist.
      if(!File.Exists("FileDoesNotExist.txt"))
         throw new InstallException();
      // Perform the final installation if the file exists.
   }

   public override void Rollback(IDictionary savedState)
   {
      base.Rollback(savedState);
      Console.WriteLine("RollBack ...");
      try
      {
         // Performing some activity during rollback that raises an 'IOException'.
         throw new IOException();
      }
      catch(Exception e)
      {
         throw new InstallException("IOException raised", e);
      }
      // Perform the remaining rollback activites if no exception raised.
   }

   public override void Uninstall(IDictionary savedState)
   {
      base.Uninstall(savedState);
      Console.WriteLine("UnInstall ...");
      // Throw an error if a particular file doesn't exist.
      if(!File.Exists("FileDoesNotExist.txt"))
         throw new InstallException("The file 'FileDoesNotExist'" +
            " does not exist");
      // Perform the uninstall activites if the file exists.
   }
}

// An Assembly that has its own installer.
public class MyAssembly1
{
   public static void Main()
   {
      Console.WriteLine("This assembly is just an example for the Installer");
   }
}

コンストラクター

InstallException()

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

InstallException(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、InstallException クラスの新しいインスタンスを初期化します。

InstallException(String)

InstallException クラスの新しいインスタンスを初期化し、ユーザーに表示するメッセージを指定します。

InstallException(String, Exception)

InstallException クラスの新しいインスタンスを初期化します。ユーザーに表示するメッセージ、およびこの例外の原因である内部例外への参照を指定します。

プロパティ

Data

例外に関する追加のユーザー定義情報を提供する、キーと値のペアのコレクションを取得します。

(継承元 Exception)
HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。

(継承元 Exception)
HResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。

(継承元 Exception)
InnerException

現在の例外の原因となる Exception インスタンスを取得します。

(継承元 Exception)
Message

現在の例外を説明するメッセージを取得します。

(継承元 Exception)
Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。

(継承元 Exception)
StackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。

(継承元 Exception)
TargetSite

現在の例外がスローされたメソッドを取得します。

(継承元 Exception)

メソッド

Equals(Object)

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

(継承元 Object)
GetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の根本原因である Exception を返します。

(継承元 Exception)
GetHashCode()

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

(継承元 Object)
GetObjectData(SerializationInfo, StreamingContext)
古い.

派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。

(継承元 Exception)
GetType()

現在のインスタンスのランタイム型を取得します。

(継承元 Exception)
MemberwiseClone()

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

(継承元 Object)
ToString()

現在の例外の文字列形式を作成して返します。

(継承元 Exception)

イベント

SerializeObjectState
古い.

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。

(継承元 Exception)

適用対象

製品 バージョン
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください