2010-11-18 3 views
0

프로그램을 이전에 설치 한 경우 설치 프로그램 [설치시 표시됨]에 수리/제거 옵션을 제공해야하는 프로젝트에서 작업하고 있습니다. 그리고 VS 2008로해야합니다. 저를 도와주세요..Net 설치 프로그램 복구 옵션

편집 : 실제로 보안상의 이유로 이전 설치를 위해 레지스트리 항목을 제거했습니다. 그래서 나는 그것을 암호로 보호 된 응용 프로그램에서만 제거 할 수 있습니다. 그래서 내가 수리/제거 옵션을 사용자 정의해야하는 이유. 그래서 그것은 특정 레지스트리 값을보고 나타납니다. 어떻게해야합니까?

감사합니다.

+0

이미 설치 프로젝트로 시작 했습니까? 복구 옵션은 기본적으로 있어야합니다. –

+0

@ 0xA3 : 편집 – Barun

+0

을 참조하십시오. MSI 데이터베이스에서 제품을 제거하면 기본적으로 설치 프로그램이 제품이 이미 설치되어 있는지를 모르고 응용 프로그램을 다시 설치합니다. 그것은 대부분의 경우 수리와 다르지 않습니다. –

답변

1

현재 솔루션에 설치 프로젝트를 추가하기 만하면됩니다. 설치 프로젝트는 무료로 수리 및 제거 옵션을 제공하는 Windows Installer 기술을 사용합니다. "간단한"설치가있는 경우이 유형의 프로젝트를 사용하십시오. 더 많은 제어 (사용자 정의 대화 상자)가 필요하면 Wix을 설치해야합니다. VS에 연결하고 XML로 설치 파일을 정의한 다음 Windows Installer 패키지로 컴파일 할 수 있습니다.

+0

수정을 확인하십시오. – Barun

+0

Wix를 사용하여 요구 사항을 처리 할 수 ​​있어야합니다. – ZippyV

0

필자는 설치 프로그램을보다 잘 제어 할 수있는 WIX가 요구 사항에 더 적합하다고 생각합니다.

응용 프로그램에서만 응용 프로그램을 제거하려면 응용 프로그램에서 설치 프로그램 동작 (복구/제거)이 시작되었는지 확인하는 사용자 지정 동작 또는 조건을 설치 관리자에 추가 할 수 있습니다 ARP에서.

한 가지 방법은 응용 프로그램의 사용자 지정 속성을 사용자 지정 동작 (또는 조건)에서 테스트 된 msiexec으로 전달해야하며이 속성을 설정하지 않고 실행하면 설치 관리자 프로세스가 진행되지 않습니다.