다음을 통해 공유


방법: 설치 구성 요소의 기본 메서드 재정의

업데이트: 2007년 11월

기본적으로 모든 설치 구성 요소에는 다음과 같은 메서드가 있습니다.

  • Install – 설치 관리자에서 수행해야 하는 모든 설치 기능은 이 메서드 안에서 수행됩니다. Installer1 클래스 또는 RunInstallerAttribute 값이 true로 설정된 모든 클래스는 해당 클래스에 포함된 각 설치 구성 요소에 대해 Install을 호출한 다음, 설치에 성공했으면 Commit을 호출하고 오류가 발생했으면 Rollback을 호출합니다.

  • Commit — 설치 관리자 클래스에 포함된 모든 설치 구성 요소에 대해 Install 메서드가 성공적으로 실행되고 나면 Commit이 호출됩니다. 이 때 모든 설치가 커밋됩니다. 예외 발생을 방지하기 위해 대개 Commit 메서드에서는 처리 작업을 수행하지 않습니다.

  • RollbackRollback 메서드는 설치 프로세스에서 오류가 발생할 경우 이전 설치 작업을 모두 취소하는 데 사용됩니다. 설치 클래스에 포함된 설치 구성 요소에서 오류가 발생하면 지금까지의 모든 설치가 취소됩니다.

  • UninstallUninstall은 설치 구성 요소 리소스를 시스템에서 제거하는 데 사용됩니다. 설치와 달리 트랜잭션 방식이 아닙니다. 일부 제거 프로세스에서 실패가 발생해도 시스템에서는 계속하여 다른 모든 리소스를 제거합니다.

각 메서드에는 수정하지 않아도 필수 작업을 수행하는 기본 처리 작업이 포함되어 있습니다. 그러나 필요하면 각 단계에서 처리 작업을 재정의하고 수정할 수 있습니다. 예를 들어, ServiceBase 설치 구성 요소의 경우 서비스가 제대로 설치된 후 설치 프로세스에서 서비스를 시작하도록 Commit 프로시저에서 발생하는 기본 처리 작업을 수정할 수도 있습니다. 각 서비스를 제거하기 전에 서비스를 중단하도록 Uninstall 프로시저를 수정할 수도 있습니다.

설치 구성 요소의 기본 메서드를 재정의하려면

  1. 설치 구성 요소를 솔루션에 추가한 후 설치 관리자 클래스를 엽니다.

  2. 수정할 설치 구성 요소를 찾아 코드 편집기에서 액세스합니다.

  3. 해당 메서드를 재정의하고 원하는 기능을 추가합니다. 자세한 내용은 속성 및 메서드 재정의를 참조하십시오.

    팁:

    Installer1 클래스의 메서드를 재정의할 때는 리소스를 설치, 커밋, 롤백 및 설치 제거하는 데 필요한 원래의 처리 작업을 보존해야 합니다. 일반적으로 기존 기능을 제거하지 않고 기존 함수에 코드를 추가합니다.

참고 항목

작업

방법: 프로젝트에 설치 구성 요소 추가

방법: 설치 구성 요소 구성

연습: 이벤트 로그 구성 요소 설치

개념

속성 및 메서드 재정의