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.

  • 재정의 된 Install, CommitRollback, 및 Uninstall 메서드.Override the Install, Commit, Rollback, and Uninstall methods.

  • 추가 된 RunInstallerAttribute 파생 된 클래스 및로 설정 true합니다.Add 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, Rollback, 및 Uninstall 의 메서드를 Installer 클래스에 저장 된 설치 관리자의 컬렉션을 이동는 Installers 속성을 각 설치 관리자의 해당 메서드를 호출 합니다.The 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.

합니다 Install, CommitRollback, 및 Uninstall 메서드는 항상 동일한 호출 되지 않습니다 Installer 인스턴스.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 호출 간에 유지 되며에 전달 하는 프로그램 InstallCommit, 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

ComponentISite를 가져오거나 설정합니다.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()

Component의 이름이 포함된 String을 반환합니다(있는 경우).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

Installers 속성의 모든 설치 관리자에 대한 Install(IDictionary) 메서드가 실행된 후에 발생합니다.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)

적용 대상

추가 정보