2008-10-17 7 views

답변

4

설치의 레지스트리에 항목을 넣습니다. 설치 프로그램이 실행될 때 항목이 있으면 프로그램이 이미 설치되어 있거나 사용자가 레지스트리를 해킹하여 설치 관리자가 생각했다면 생각한 것입니다. 그렇지 않은 경우 아직 설치하지 않았습니다.

8

나는 C#으로이 작업을 수행하는 방법을 잘 모릅니다. 그러나 Nullsoft Installer을 사용하는 동안이 방법을 사용해 본 적이 있습니다. 설치하기 전에 설치 중에 만들어진 레지스트리 키를 확인하십시오.

제거 프로그램이 프로그램 추가/제거 제어판에 표시됩니다. 제거 프로그램 목록은 HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Uninstall에 저장됩니다. 설치가 제거 프로그램을 등록하는 경우 때문에 제거 프로그램의 키, 설치 프로그램이 있는지 확인하기위한 좋은 열쇠이다 :

  1. 프로그램이 모든 사용자를위한 설치하는 가정하면, 테스트 키 HKEY 로컬 컴퓨터 아래에 있어야합니다 (HKLM) 현재 사용자 (HKey 현재 사용자)에 특정한 키가 아닙니다. 제거 프로그램의 키가 HKLM에 있음

  2. 같은 프로그램의 여러 버전을 나란히 설치해야하는 경우가 있습니다. 설치 제거 프로그램 키는 각 버전에 고유해야하므로 규칙을 추가하여 설치 프로그램의 버전 번호와 설치된 버전을 비교할 수 있습니다. 실패 다시 설치 프로그램 (제거 프로그램을 사용하지 않고) 손으로 프로그램 파일에서 삭제 된 경우 :

는 프로그램이 설치되어있는 경우 레지스트리 키는 말할 검사의 제한이 있습니다. 이 문제점을 방지하려면 설치 제거 프로그램 레지스트리 키를 찾은 후 설치 프로그램이 설치 제거 프로그램이 여전히 존재하는지 점검하십시오. 그렇다면 프로그램이 아직 설치되어 있다고 가정하는 것이 안전 할 것입니다.

설치 프로그램 및 조건부 설치와 함께 놀면서 가끔 재설치하면 문제를 정리하는 것이 좋습니다. 재설치 할 수 있도록 (까다로운) 제거를 수행해야하는 것은 지루할 수 있습니다.

레지스트리 키 제거에 대한 자세한 내용은 NSIS's page on Add/Remove Programs을 참조하십시오.

0

레지스트리에 아무 것도 넣지 않으려면 (관리자 권한 등으로 인해) 설치하려는 폴더 또는 파일이 있는지 간단히 확인할 수 있습니다. 예, 이것은 매번 동일한 폴더에 설치한다고 가정하지만 옵션입니다.

관련 문제