次の方法で共有


Installer.Rollback メソッド

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

Public Overridable Sub Rollback( _
   ByVal savedState As IDictionary _)
[C#]
public virtual void Rollback(IDictionarysavedState);
[C++]
public: virtual void Rollback(IDictionary* savedState);
[JScript]
public function Rollback(
   savedState : IDictionary);

パラメータ

  • savedState
    インストール前のコンピュータの状態を格納している IDictionary

例外

例外の種類 条件
ArgumentException savedState パラメータが null 参照 (Visual Basic では Nothing) です。

または

状態を保存している IDictionary が破損している可能性があります。

InstallException インストールの Rollback フェーズで例外が発生しました。この例外は無視され、ロールバックが続行されます。ただし、ロールバックが完了しても、コンピュータが完全には初期状態に復元されない可能性があります。

解説

継承時の注意: 派生クラスで Rollback メソッドをオーバーライドする場合は、派生メソッド内で、まず基本クラスの Rollback メソッドを呼び出してください。ロールバック操作によって、インストールが実行される前のコンピュータの状態が復元されます。 Rollback メソッドは、 Installer のインスタンスまたはインストーラ コレクション内の任意のインストーラの Install メソッドが正常に実行されなかった場合に呼び出されます。インストーラ コレクション内のインストーラの Rollback メソッドを呼び出した場合に生成された例外はすべて無視され、他のインストーラのロールバックが続行されます。

使用例

[Visual Basic, C#, C++] InstallerRollback メソッドの例を次に示します。 Rollback メソッドは、 Installer の派生クラスでオーバーライドされます。インストールを強制的にロールバックするために、例外が生成されます。

 
' Override 'Rollback' method of Installer class.
Public Overrides Sub Rollback(mySavedState As IDictionary)
   MyBase.Rollback(mySavedState)
   Console.WriteLine("The Rollback method of 'MyInstallerSample'" + _
                                                " has been called")
End Sub 'Rollback

[C#] 
// Override 'Rollback' method of Installer class.
public override void Rollback( IDictionary mySavedState )
{
   base.Rollback( mySavedState );
   Console.WriteLine( "The Rollback method of 'MyInstallerSample'" +
                     " has been called" );
}

[C++] 
// Override 'Rollback' method of Installer class.
void Rollback(IDictionary* mySavedState) {
    Installer::Rollback(mySavedState);
    Console::WriteLine(S"The Rollback method of 'MyInstallerSample'  has been called");
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

Installer クラス | Installer メンバ | System.Configuration.Install 名前空間 | Commit | Uninstall | Install | InstallerCollection | Installers