2011-01-19 5 views
0

저는 CPack NSIS 생성기를 사용하여 설치 프로그램을 만듭니다. 그러나 새 버전을 릴리스 할 때마다 사용자가 이전 버전을 제거하지 않고 새 설치 프로그램을 실행하고 있습니다 (이해할 수 있음).새로운 설치를 위해 CPack (NSIS) 업그레이드를 올바르게 수행하는 방법은 무엇입니까?

설치 프로그램이 기존 파일을 모두 덮어 쓸 수 있습니까? 이미 설치되어있는 경우 설치를 차단하는 방법이 있습니까?

또한 우리 CPack 호출은 다른 스크립트로 래핑됩니다. 최후의 수단으로 project.nsi 파일을 해킹/재구성하여 위와 같은 작업을 수행 할 수 있습니까?

답변

0

내 솔루션은 별도로 NSIS 파일을 유지했다 NSIS 스크립트를 읽어 여분의 노력별로 것으로 밝혀졌습니다.

4

CPack에서 사용하는 NSIS 템플릿을 편집해야합니다. cmake 설치 폴더/Modules/NSIS.template.in에서 찾을 수 있습니다. 이

는, 어딘가에, 어쩌면 일반 섹션의 시작, 당신은 넣을 수 있습니다 : SetOverwrite를

이에 트릭을해야한다, 나는 그것을 밖으로 시도 할 수있는 기회를 가지고 있지 않았지만. SetOverwrite의 인수에 대한 자세한 내용은

manual

관련 문제