2012-03-27 7 views
1

내 응용 프로그램의 이름을 변경하려고했지만 동일한 GUID를 유지하려고합니다. 내 설정 섹션은Innosetup에서 이름이 변경된 응용 프로그램의 DefaultDirName

같은
[Setup] 
DefaultDirName={pf}\xyz 
DefaultGroupName=xyz 

보이는, 은 그래서 내 응용 프로그램의 이름은 'ABC'이었다 이전 생각한 내 설정 섹션은 'XYZ'에 내 응용 프로그램의 이름을 변경, 이제

[Setup] 
DefaultDirName={pf}\abc 
DefaultGroupName=abc 

처럼 보였다 나는 ABC는 레지스트리를 검사하여 설치되어 있는지 감지 할 논리를 가지고 -

SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AppId}_is1 

내가 수동으로 응용 프로그램을 중지 파일, 레지스트리 항목을 삭제 (I 유엔 전화를 해달라고 설치자, 나는 서비스가 멈추는 것을 피할 필요가 있기 때문에).

이제 'xyz'를 새로 설치할 때 '대상 위치 선택 페이지'의 대상 디렉토리가 "Program Files \ xyz"이지만, 이전에 abc가 설치되어 있고 맨 위에 xyz를 설치하려고 시도하는 경우 기본 디렉토리는 "Program Files \ abc"를 가리 킵니다. 그룹 이름도 같습니다.

DirName을 항상 xyz로 가져 오도록 설치를 어떻게 적용 할 수 있습니까? 그 GUID를 변경해야합니까?

답변

2

UsePreviousAppDir을 No로 설정해야합니다. 그러면 설치시 이전 설치 디렉토리가 선택되지 않고 새 디렉토리로 보내야합니다.

+0

굉장! 그게 .. 고마워 !! – dips

+0

그러나 하나의 설치에서 사용자가 고유 폴더를 지정하면 복제 설치를 중단/생성합니다. – Deanna

1

이미 설치된 경우 동일한 디렉토리를 유지하는 것이 가장 좋습니다. 이렇게하면 사용자 지정 바로 가기 나 데이터 위치가 더 이상 작동하지 않을 때 사용자에게 놀라움을 줄입니다. 또한 새 설치에 새 제품 이름을 사용합니다.

정말 다른 버전 인 경우 나란히 설치하고 새 앱 ID를 가질 수 있어야합니다.

+0

아주 좋은 지적! 그러나 나는 이름을 바꾸고 사용자들에게 알리려고합니다! – dips

관련 문제