Installer Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece a base para instalações personalizadas.
public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
inherit Component
Public Class Installer
Inherits Component
- Herança
- Derivado
Exemplos
O exemplo a seguir demonstra o uso da Installer classe . Ele cria uma classe que herda de Installer. Quando Commit está prestes a ser concluído, Committing o evento ocorre e uma mensagem é exibida. Para usar a Installer classe , você deve referenciar o assembly System.Configuration.Install em seu projeto.
#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
Comentários
Essa é a classe base para todos os instaladores personalizados no .NET Framework. Os instaladores são componentes que ajudam a instalar aplicativos em um computador.
Há várias etapas que você deve seguir para usar um Installer:
Herda a Installer classe .
Adicione o RunInstallerAttribute à classe derivada e defina-o
true
como .Coloque sua classe derivada no assembly com seu aplicativo para instalar.
Invoque os instaladores. Por exemplo, use o InstallUtil.exe para invocar os instaladores.
A Installers propriedade contém uma coleção de instaladores. Se essa instância do Installer fizer parte de uma coleção de instalador, a Parent propriedade será definida como a Installer instância que contém a coleção. Para obter um exemplo do uso da Installers coleção, consulte a AssemblyInstaller classe .
Os Installmétodos , CommitRollback, e Uninstall da Installer classe passam pela coleção de instaladores armazenados na Installers propriedade e invocam o método correspondente de cada instalador.
Os Installmétodos , CommitRollback, e Uninstall nem sempre são chamados na mesma Installer instância. Por exemplo, uma Installer instância pode ser usada durante a instalação e confirmação de um aplicativo e, em seguida, a referência a essa instância é liberada. Posteriormente, a desinstalação do aplicativo cria uma referência a uma nova Installer instância, o que significa que o Uninstall método é chamado por uma instância diferente do Installer. Por esse motivo, em sua classe derivada, não salve o estado de um computador em um instalador. Em vez disso, use um IDictionary que é preservado entre chamadas e passado para seus Installmétodos , Commit, Rollbacke Uninstall .
Duas situações ilustram a necessidade de salvar informações no state-saver IDictionary. Primeiro, suponha que o instalador defina uma chave do Registro. Ele deve salvar o valor original da chave no IDictionary. Se a instalação for revertida, o valor original poderá ser restaurado. Em segundo lugar, suponha que o instalador substitua um arquivo existente. Salve o arquivo existente em um diretório temporário e o local do novo local do arquivo no IDictionary. Se a instalação for revertida, o arquivo mais recente será excluído e substituído pelo original do local temporário.
A Installer.Context propriedade contém informações sobre a instalação. Por exemplo, informações sobre o local do arquivo de log para a instalação, o local do arquivo para salvar as informações exigidas pelo Uninstall método e a linha de comando que foi inserida quando o executável de instalação foi executado.
Construtores
Installer() |
Inicializa uma nova instância da classe Installer. |
Propriedades
CanRaiseEvents |
Obtém um valor que indica se o componente pode acionar um evento. (Herdado de Component) |
Container |
Obtém o IContainer que contém o Component. (Herdado de Component) |
Context |
Obtém ou define informações sobre a instalação atual. |
DesignMode |
Obtém um valor que indica se o Component está no modo de design no momento. (Herdado de Component) |
Events |
Obtém a lista de manipuladores de eventos que estão anexados a este Component. (Herdado de Component) |
HelpText |
Obtém o texto de ajuda para todos os instaladores na coleção de instalador. |
Installers |
Obtém a coleção de instaladores que contém esse instalador. |
Parent |
Obtém ou define o instalador que contém a coleção à qual o instalador pertence. |
Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
Métodos
Commit(IDictionary) |
Quando substituído em uma classe derivada, conclui a transação de instalação. |
CreateObjRef(Type) |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo Component e opcionalmente libera os recursos gerenciados. (Herdado de Component) |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetLifetimeService() |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância. (Herdado de MarshalByRefObject) |
GetService(Type) |
Retorna um objeto que representa um serviço fornecido pelo Component ou pelo seu Container. (Herdado de Component) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
InitializeLifetimeService() |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
Install(IDictionary) |
Quando substituído em uma classe derivada, executa a instalação. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
OnAfterInstall(IDictionary) |
Aciona o evento AfterInstall. |
OnAfterRollback(IDictionary) |
Aciona o evento AfterRollback. |
OnAfterUninstall(IDictionary) |
Aciona o evento AfterUninstall. |
OnBeforeInstall(IDictionary) |
Aciona o evento BeforeInstall. |
OnBeforeRollback(IDictionary) |
Aciona o evento BeforeRollback. |
OnBeforeUninstall(IDictionary) |
Aciona o evento BeforeUninstall. |
OnCommitted(IDictionary) |
Aciona o evento Committed. |
OnCommitting(IDictionary) |
Aciona o evento Committing. |
Rollback(IDictionary) |
Quando substituído em uma classe derivada, restaura o estado de pré-instalação do computador. |
ToString() |
Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído. (Herdado de Component) |
Uninstall(IDictionary) |
Quando substituído em uma classe derivada, remove uma instalação. |
Eventos
AfterInstall |
Ocorre depois que os métodos do Install(IDictionary) de todos os instaladores na propriedade Installers foram executados. |
AfterRollback |
Ocorre após as instalações de todos os instaladores na propriedade Installers serem revertidas. |
AfterUninstall |
Ocorre depois que todos os instaladores na propriedade Installers realizam suas operações de desinstalação. |
BeforeInstall |
Ocorre antes do método Install(IDictionary) de cada instalador no instalador em que a coleção foi executada. |
BeforeRollback |
Ocorre antes que os instaladores na propriedade Installers sejam revertidos. |
BeforeUninstall |
Ocorre antes dos instaladores na propriedade Installers executarem suas operações de desinstalação. |
Committed |
Ocorre depois que todos os instaladores na propriedade Installers confirmaram suas instalações. |
Committing |
Ocorre antes que os instaladores na propriedade Installers façam commit de suas instalações. |
Disposed |
Ocorre quando o componente é disposto por uma chamada ao método Dispose(). (Herdado de Component) |