2010-12-30 3 views
3

Visual Studio 2008을 통해 내 응용 프로그램에 대해 MSI 설치 프로그램을 만들고 windows \ registry 키를 자동 시작에 추가했지만 자동 시작을 사용하지 않도록 응용 프로그램에 함수를 구현했습니다. 그러나 응용 프로그램을 다시 시작하면 키가 자동으로 복구됩니다.MSI는 레지스트리 키 복구를 방지합니다

MSI가 키를 복구하지 못하게하는 방법 ??

감사합니다.

+0

[서비스가 시작 MSI 설치 프로그램이 자동 복구를 시작]의 중복 가능성 (http://stackoverflow.com/questions/2596431/msi-installer-start-auto-repair-when-service-starts) –

답변

2

레지스트리 키는 패키지에 의해 설치 되었기 때문에 복구되었으며 Windows Installer는 레지스트리 키가 있어야 함을 알고 있습니다. 가능한 해결책은 다음과 같습니다.

  1. 구성 요소 ID가없는 별도의 구성 요소로 항목을 이동하십시오. 이렇게하면 구성 요소가 Windows Installer에 등록되지 않습니다.
  2. 사용자 지정 작업을 사용하여 설치 중에 레지스트리 항목을 만듭니다.
+0

감사 ,하지만 나는 어떻게해야할지 모른다. 설명해 주시겠습니까? 비주얼 스튜디오가 나에게 사용자 정의 액션에서 그런 것을 제공하지 않기 때문에 엔트리의 컴포넌트 ID를 선택하는 방법이 아니라 사용자 정의 액션을 생성하는 방법을 모르겠습니다 ... – Marin

+0

Orca로 컴포넌트를 편집 할 수 있습니다 또는보다 강력한 도구를 사용하십시오. Visual Studio는 설치 프로그램을 만들 때 매우 제한적입니다. 사용자 지정 동작은 사용자 지정 코드를 사용할 수 있습니다. 예를 들어 레지스트리 항목을 처리하는 EXE를 만들 수 있습니다. EXE를 만든 후에는 설치 프로젝트에서 사용자 지정 작업으로 추가 할 수 있습니다. –

관련 문제