기능 또는 애플리케이션 다시 설치
Windows Installer는 애플리케이션에 포함된 파일을 복구, 교체 및 확인할 수 있습니다. 기능과 연결된 파일 또는 레지스트리 항목이 누락되거나 손상된 경우 부분 또는 전체 애플리케이션 다시 설치가 필요할 수 있습니다.
기능 또는 애플리케이션이 다시 설치되면 기능 또는 애플리케이션에 속하는 모든 서비스, 환경 변수 및 사용자 지정 작업도 다시 설치됩니다. 즉, 원래 설치와 다시 설치 간의 환경 변수 변경 내용이 손실됩니다.
다음 목록에는 기능 또는 제품을 다시 설치하는 방법이 포함되어 있습니다. 처음 두 메서드는 설치 관리자에 의해 자동화되었습니다.
- MsiReinstallFeature 함수를 호출하여 파일을 복구, 바꾸기 또는 확인합니다.
- MsiReinstallProduct 함수를 호출하여 전체 제품을 다시 설치합니다.
- Reinstall ControlEvent를 통해 설치 관리자 UI 컨트롤 단추를 사용해 파일을 다시 설치, 바꾸기 또는 확인합니다.
- REINSTALL 속성과 REINSTALLMODE 속성을 설정하여 명령줄에서 파일을 다시 설치, 바꾸기 또는 확인합니다.
기능 또는 애플리케이션을 다시 설치하는 방법에 대한 자세한 내용은 복원력을 참조하세요.
설치 관리자를 사용하여 제품을 다시 설치하려면
- MsiReinstallProduct를 호출합니다.
설치 관리자를 사용하여 기능을 다시 설치하려면
- MsiReinstallFeature를 호출합니다.
설치 관리자 사용자 인터페이스를 사용하여 제품 또는 기능을 다시 설치하려면
컨트롤 테이블에 항목을 추가하여 지정된 대화 상자에 단추를 추가합니다.
1단계에서 만든 단추 컨트롤을 참조하는 Dialog_ 및 Control_ 필드를 사용하여 ControlEvent 테이블에 ReinstallMode ControlEvent를 추가합니다. 인수 필드에 원하는 다시 설치 모드에 해당하는 문자가 포함된 문자열을 입력합니다(이 필드에 허용되는 값은 REINSTALLMODE 속성에 허용되는 값과 동일). 이 이벤트에 대한 순서 지정 열의 값은 1이어야 합니다.
ControlEvent 테이블에 Reinstall ControlEvent 이벤트를 추가하고 동일한 단추 컨트롤을 다시 참조합니다. 이 이벤트의 인수 필드는 일반적으로 모든 기능을 강제로 다시 설치하기 위해 ALL이지만 여기에 특정 기능의 이름을 배치할 수 있습니다. 이 이벤트에 대한 순서 지정 열의 값은 2여야 합니다.
동일한 단추 컨트롤에 연결된 이벤트를 하나 더 추가하여 실제로 다시 설치를 시작합니다. 이는 EndDialog 이벤트일 수 있습니다(Return 인수 포함). 그러나 일반적으로 NewDialog 이벤트는 여기서 다시 설치하시겠습니까? 확인 대화 상자로 이동하는 데 사용됩니다. 이 이벤트에 대한 순서 지정 열의 값은 3이어야 합니다.
원하는 경우 단일 대화 상자에 대해 여러 REINSTALL 단추를 만들 수 있으므로 사용자가 수행된 다시 설치 유형을 선택할 수 있습니다. 이 경우 각 단추는 앞의 프로시저에 설명된 대로 작성되며 각 단추에 대해 ReinstallMode ControlEvent 매개 변수가 다릅니다.
특정 제품이 설치되면(제품의 일부 또는 전체 기능 포함) 명령줄에서 다시 설치를 수행할 수 있습니다.
명령줄에서 제품 또는 기능을 다시 설치하려면
명령 프롬프트에서 REINSTALL 속성을 지정합니다.
명령 프롬프트에서 REINSTALLMODE 속성을 지정합니다.
이러한 속성을 지정하면 사용자가 제품의 기능 또는 전부를 다시 설치할 수 있습니다. 다시 설치 유형을 지정할 수도 있습니다. 예를 들어 완전히 누락된 파일만 다시 설치하거나 손상된 파일(예: 체크섬이 실제 파일 내용과 일치하지 않는 실행 파일)만 대체되도록 지정할 수 있습니다.