2011-05-06 5 views
1

다른 프로그램이 설치되어 있지 않으면 설치를 건너는 방법을 찾아야합니다. 나는 다른 프로그램의 레지스트리를 발견 할 수있다. (기본 스크립트는 true/false를 반환한다.) 문제가 아니다. 하지만 설치를 건너는 방법을 모르겠습니다.Inno 설치 - 다른 프로그램이 설치되지 않은 경우 설치를 건너 뛰십시오.

간단히 말해 레지스트리에서 하나의 키가 설정되어 있지 않으면 '이 프로그램 앞에 xyz 프로그램 설치'를 설치하고 설치 프로그램을 완료하십시오.

답변

6

매우 간단합니다. ISS 파일에

[Code] 

function IsApp2Installed: boolean; 
begin 
    result := RegKeyExists(HKEY_LOCAL_MACHINE, 
    'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\app2.exe'); 
end; 

function InitializeSetup: boolean; 
begin 
    result := IsApp2Installed; 
    if not result then 
    MsgBox('You need to install App2 before you install ThisApp. Install App2 and then run this installer again.', mbError, MB_OK); 
end; 

을 추가하기 만하면됩니다. InitializeSetup은 설치 관리자가 시작될 때 (마법사 GUI가 표시되기 전에도) 실행되는 소위 event function입니다. false을 반환하면 설치 프로그램이 즉시 종료됩니다.

+0

대단원! 감사! :) – Ajax

관련 문제