Installer.Uninstall(IDictionary) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當在衍生類別中被覆寫時,移除安裝。
public:
virtual void Uninstall(System::Collections::IDictionary ^ savedState);
public virtual void Uninstall (System.Collections.IDictionary savedState);
abstract member Uninstall : System.Collections.IDictionary -> unit
override this.Uninstall : System.Collections.IDictionary -> unit
Public Overridable Sub Uninstall (savedState As IDictionary)
參數
- savedState
- IDictionary
IDictionary,包含安裝完成之後的電腦狀態。
例外狀況
IDictionary 的儲存狀態可能已經損毀。
解除安裝時發生例外狀況。 這個例外狀況會被忽略,解除安裝會繼續進行。 不過,解除安裝完成之後,應用程式可能沒有完全解除安裝。
範例
下列範例示範 Uninstall 的 Installer方法。 方法 Uninstall 會在的 Installer衍生類別中覆寫。
// Override 'Uninstall' method of Installer class.
public:
virtual void Uninstall( IDictionary^ mySavedState ) override
{
if ( mySavedState == nullptr )
{
Console::WriteLine( "Uninstallation Error !" );
}
else
{
Installer::Uninstall( mySavedState );
Console::WriteLine( "The Uninstall method of 'MyInstallerSample' has been called" );
}
}
// Override 'Uninstall' method of Installer class.
public override void Uninstall( IDictionary mySavedState )
{
if (mySavedState == null)
{
Console.WriteLine("Uninstallation Error !");
}
else
{
base.Uninstall( mySavedState );
Console.WriteLine( "The Uninstall method of 'MyInstallerSample' has been called" );
}
}
' Override 'Uninstall' method of Installer class.
Public Overrides Sub Uninstall(mySavedState As IDictionary)
If mySavedState Is Nothing Then
Console.WriteLine("Uninstallation Error !")
Else
MyBase.Uninstall(mySavedState)
Console.WriteLine("The Uninstall method of 'MyInstallerSample' has been called")
End If
End Sub
給繼承者的注意事項
如果您在衍生類別中覆寫 Install(IDictionary) 方法,請務必先在衍生方法中呼叫基類的 Install(IDictionary) 方法。 方法 Install(IDictionary) 會呼叫 Install(IDictionary) 這個實例的 屬性中包含的 Installers 每個安裝程式方法。 在包含的安裝程式執行之後,這個方法會 IDictionary 更新物件 (透過
stateSaver
參數) 指定,以反映安裝的狀態。 IDictionary傳遞至 方法時,應該是空的Install(IDictionary)。 如果所有 Install(IDictionary) 方法都成功,則會 Commit(IDictionary) 呼叫 方法。 否則會 Rollback(IDictionary) 呼叫 方法。如果您需要將安裝程序實例新增至 Installers 方法中的 Install(IDictionary) 集合,請務必在 方法中 Uninstall(IDictionary) 對集合執行相同的新增作業。 不過,如果您將安裝程序實例新增至 Installers 自定義安裝程式類別建構函式中的集合,則可以避免在這兩種方法中維護集合。