Installer Installer Installer Installer Class

Определение

Предоставляет основу для пользовательских установок.Provides the foundation for custom installations.

public ref class Installer : System::ComponentModel::Component
public class Installer : System.ComponentModel.Component
type Installer = class
    inherit Component
Public Class Installer
Inherits Component
Наследование
Производный

Примеры

В следующем примере демонстрируется использование Installer класса.The following example demonstrates the use of the Installer class. Он создает класс, наследующий от Installer.It creates a class which inherits from Installer. Когда Commit собирается завершиться, Committing происходит событие и выводится сообщение.When Commit is about to complete, Committing event occurs and a message is displayed. Чтобы использовать Installer класс, необходимо сослаться на сборку System. Configuration. Install в проекте.To use the Installer class, you must reference the System.Configuration.Install assembly in your project.

#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.This is the base class for all custom installers in the .NET Framework. Установщики — это компоненты, помогающие устанавливать приложения на компьютере.Installers are components that help install applications on a computer.

Существует несколько шагов, которые необходимо выполнить для использования Installer:There are several steps you must follow to use an Installer:

  • Наследовать Installer класс.Inherit the Installer class.

  • Переопределите методы Commit Rollback,, иUninstall . InstallOverride the Install, Commit, Rollback, and Uninstall methods.

  • Добавьте в производный класс и задайте для trueнего значение. RunInstallerAttributeAdd the RunInstallerAttribute to your derived class and set it to true.

  • Вставьте в сборку производный класс с приложением для установки.Put your derived class in the assembly with your application to install.

  • Вызовите установщики.Invoke the installers. Например, используйте InstallUtil. exe для вызова установщиков.For example, use the InstallUtil.exe to invoke the installers.

Installers Свойство содержит коллекцию установщиков.The Installers property contains a collection of installers. Если данный экземпляр Installer является частью коллекции установщика Parent , Installer свойство устанавливается в экземпляр, содержащий коллекцию.If this instance of Installer is part of an installer collection, the Parent property is set to the Installer instance that contains the collection. Пример использования Installers коллекции см. в AssemblyInstaller разделе класс.For an example of the use of the Installers collection, see the AssemblyInstaller class.

InstallМетоды ,Commit, Installers и классаUninstallпроходят через коллекцию установщиков, хранящихся в свойстве, и вызывают соответствующий метод каждого установщика. Installer RollbackThe Install, Commit, Rollback, and Uninstall methods of the Installer class go through the collection of installers stored in the Installers property, and invokes the corresponding method of each installer.

Installer Методы Install, Commit ,Rollbackи неUninstall всегда вызываются в одном и том же экземпляре.The Install, Commit, Rollback, and Uninstall methods are not always called on the same Installer instance. Например, при установке Installer и фиксации приложения может использоваться один экземпляр, а затем ссылка на этот экземпляр освобождается.For example, one Installer instance might be used while installing and committing an application, and then the reference to that instance is released. Позже при удалении приложения создается ссылка на новый Installer экземпляр, что означает Uninstall , что метод вызывается другим экземпляром Installer.Later, uninstalling the application creates a reference to a new Installer instance, meaning that the Uninstall method is called by a different instance of Installer. По этой причине в производном классе не следует сохранять состояние компьютера в установщике.For this reason, in your derived class, do not save the state of a computer in an installer. Вместо этого используйте объект IDictionary , который сохраняется в вызовах и передается Commit Installв Rollbackметоды, Uninstall , и.Instead, use an IDictionary that is preserved across calls and passed into your Install, Commit, Rollback, and Uninstall methods.

Две ситуации иллюстрируют необходимость сохранения информации в заставке IDictionaryсостояния.Two situations illustrate the need to save information in the state-saver IDictionary. Во-первых, предположим, что установщик задает раздел реестра.First, suppose that your installer sets a registry key. Он должен сохранить исходное значение ключа в IDictionary.It should save the key's original value in the IDictionary. Если выполняется откат установки, исходное значение можно восстановить.If the installation is rolled back, the original value can be restored. Во вторых, предположим, что установщик заменяет существующий файл.Second, suppose the installer replaces an existing file. Сохраните существующий файл во временном каталоге и расположении нового расположения файла в IDictionary.Save the existing file in a temporary directory and the location of the new location of the file in the IDictionary. При откате установки новый файл удаляется и заменяется исходным файлом из временного расположения.If the installation is rolled back, the newer file is deleted and replaced by the original from the temporary location.

Installer.Context Свойство содержит сведения об установке.The Installer.Context property contains information about the installation. Например, сведения о расположении файла журнала для установки, расположении файла для сохранения сведений, необходимых Uninstall методу, и командной строке, которая была указана при запуске исполняемого файла установки.For example, information about the location of the log file for the installation, the location of the file to save information required by the Uninstall method, and the command line that was entered when the installation executable was run.

Конструкторы

Installer() Installer() Installer() Installer()

Инициализирует новый экземпляр класса Installer.Initializes a new instance of the Installer class.

Свойства

CanRaiseEvents CanRaiseEvents CanRaiseEvents CanRaiseEvents

Возвращает значение, показывающее, может ли компонент вызывать событие.Gets a value indicating whether the component can raise an event.

(Inherited from Component)
Container Container Container Container

Возвращает контейнер IContainer, содержащий компонент Component.Gets the IContainer that contains the Component.

(Inherited from Component)
Context Context Context Context

Получает или задает сведения о текущей установке.Gets or sets information about the current installation.

DesignMode DesignMode DesignMode DesignMode

Возвращает значение, указывающее, находится ли данный компонент Component в режиме конструктора в настоящее время.Gets a value that indicates whether the Component is currently in design mode.

(Inherited from Component)
Events Events Events Events

Возвращает список обработчиков событий, которые прикреплены к этому объекту Component.Gets the list of event handlers that are attached to this Component.

(Inherited from Component)
HelpText HelpText HelpText HelpText

Получает текст справки для всех установщиков из коллекции установщиков.Gets the help text for all the installers in the installer collection.

Installers Installers Installers Installers

Получает коллекцию установщиков, содержащуюся в данном установщике.Gets the collection of installers that this installer contains.

Parent Parent Parent Parent

Получает или задает установщик, содержащий коллекцию, к которой принадлежит данный установщик.Gets or sets the installer containing the collection that this installer belongs to.

Site Site Site Site

Возвращает или задает ISite объекта Component.Gets or sets the ISite of the Component.

(Inherited from Component)

Методы

Commit(IDictionary) Commit(IDictionary) Commit(IDictionary) Commit(IDictionary)

Завершает транзакцию установки, если переопределен в наследующем классе.When overridden in a derived class, completes the install transaction.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Dispose() Dispose() Dispose() Dispose()

Освобождает все ресурсы, занятые модулем Component.Releases all resources used by the Component.

(Inherited from Component)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом Component, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Inherited from Component)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Возвращает объект, представляющий службу, обеспечиваемую компонентом Component или его контейнером Container.Returns an object that represents a service provided by the Component or by its Container.

(Inherited from Component)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
Install(IDictionary) Install(IDictionary) Install(IDictionary) Install(IDictionary)

Производит установку, если переопределен в наследующем классе.When overridden in a derived class, performs the installation.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
OnAfterInstall(IDictionary) OnAfterInstall(IDictionary) OnAfterInstall(IDictionary) OnAfterInstall(IDictionary)

Вызывает событие AfterInstall.Raises the AfterInstall event.

OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary) OnAfterRollback(IDictionary)

Создает событие AfterRollback.Raises the AfterRollback event.

OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary) OnAfterUninstall(IDictionary)

Вызывает событие AfterUninstall.Raises the AfterUninstall event.

OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary) OnBeforeInstall(IDictionary)

Создает событие BeforeInstall.Raises the BeforeInstall event.

OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary) OnBeforeRollback(IDictionary)

Вызывает событие BeforeRollback.Raises the BeforeRollback event.

OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary) OnBeforeUninstall(IDictionary)

Вызывает событие BeforeUninstall.Raises the BeforeUninstall event.

OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary) OnCommitted(IDictionary)

Вызывает событие Committed.Raises the Committed event.

OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary) OnCommitting(IDictionary)

Создает событие Committing.Raises the Committing event.

Rollback(IDictionary) Rollback(IDictionary) Rollback(IDictionary) Rollback(IDictionary)

Восстанавливает состояние компьютера до установки, если переопределен в наследующем классе.When overridden in a derived class, restores the pre-installation state of the computer.

ToString() ToString() ToString() ToString()

Возвращает объект String, содержащий имя Component, если оно есть.Returns a String containing the name of the Component, if any. Этот метод не следует переопределять.This method should not be overridden.

(Inherited from Component)
Uninstall(IDictionary) Uninstall(IDictionary) Uninstall(IDictionary) Uninstall(IDictionary)

Отменяет установку, если переопределен в наследующем классе.When overridden in a derived class, removes an installation.

События

AfterInstall AfterInstall AfterInstall AfterInstall

Происходит после выполнения методов Install(IDictionary) всех установщиков из свойства Installers.Occurs after the Install(IDictionary) methods of all the installers in the Installers property have run.

AfterRollback AfterRollback AfterRollback AfterRollback

Происходит после отката установок всех установщиков из свойства Installers.Occurs after the installations of all the installers in the Installers property are rolled back.

AfterUninstall AfterUninstall AfterUninstall AfterUninstall

Происходит после выполнения действий по отмене установки всеми установщиками из свойства Installers.Occurs after all the installers in the Installers property perform their uninstallation operations.

BeforeInstall BeforeInstall BeforeInstall BeforeInstall

Происходит до того, как был запущен метод Install(IDictionary) каждого установщика из коллекции установщиков.Occurs before the Install(IDictionary) method of each installer in the installer collection has run.

BeforeRollback BeforeRollback BeforeRollback BeforeRollback

Происходит до отката установщиков из свойства Installers.Occurs before the installers in the Installers property are rolled back.

BeforeUninstall BeforeUninstall BeforeUninstall BeforeUninstall

Происходит до выполнения действий по отмене установки установщиками из свойства Installers.Occurs before the installers in the Installers property perform their uninstall operations.

Committed Committed Committed Committed

Происходит после фиксации установки всеми установщиками из свойства Installers.Occurs after all the installers in the Installers property have committed their installations.

Committing Committing Committing Committing

Происходит до фиксации установок установщиками из свойства Installers.Occurs before the installers in the Installers property commit their installations.

Disposed Disposed Disposed Disposed

Происходит при удалении компонента вызовом метода Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Inherited from Component)

Применяется к

Дополнительно