2010-02-07 6 views

답변

7

이 작동합니다 :

Wizardform.NextButton.Enabled := False; 

자세한 내용은 InnoSetup 뉴스 그룹을 체크 아웃 :
http://www.jrsoftware.org/newsgroups.php

+0

확인했습니다. 작동하지 않습니다. – Sasha

+0

어떤 종류의 이벤트에서 사용하고 있습니까? CurPageChanged? – Zyphrax

+0

이 작업을 수행해야합니다. 이 코드는 어디에 사용합니까? –

0

죄송합니다. 귀하의 특정 문제에 직접적으로 도움을 줄 수 없습니다. Inno Setup은 Windows Installer를 기반으로하지 않는 것으로 보이지만 프로그램에서 Windows 로고 요구 사항을 통과 할 수 없는지 확인하고 싶습니다.

Microsoft에서 직접 제공하는 오픈 소스 설치 프로그램 작성자 인 WiX 3을 사용하는 것이 좋습니다. 많은 사람들로부터 탁월한 지원을받으며 일반 Windows Installer 패키지를 쉽게 만들 수 있습니다. Wix를 사용하면 다음 버튼을 사용하지 못하게 할 수 있습니다.

+0

감사합니다. 내 다음 프로젝트에서 시도해 보겠습니다 ... – Sasha

+0

(추정 됨) MSI 요구 사항이 누락되었습니다 – Anders

+0

죄송합니다. – Sasha

4

난 당신이 지금 해결 방법을 발견 한 것 같아요. 동일한 문제가있어서 해결책을 찾았 기 때문에 다른 사람들을 돕기 위해 여기에 게시하고 있습니다.

사용자가 응용 프로그램 업그레이드를 시작한 후에 취소 버튼을 비활성화하고 싶습니다. 이 절차 : 또한

procedure CurPageChanged(CurPageID: Integer); 
begin 
    // always disable the cancel button; no going back now!!! 
    if UpgradeInstallationMode then 
    Wizardform.CancelButton.Enabled := False; 
end; 

수동으로이 일을하는 또 다른 방법은 다음과 같습니다

[Setup] 
AllowCancelDuringInstall=yes 

이 매우이다 :

procedure DisableCancelButton(); 
begin 
    WizardForm.CancelButton.Enabled := False; 
    WizardForm.Update; 
end; 

procedure EnableCancelButton(); 
begin 
    WizardForm.CancelButton.Enabled := True; 
    WizardForm.Update; 
end; 

또 다른 방법이 [설정] 지시어를 사용하는 것 간단한 시나리오에 유용합니다. 위의 절차 대신이 방법을 사용할 수 있습니다.

+1

나는'WizardForm'을 강제로 재 작성 ('WizardForm.Update' 행) 할 필요가 없다고 말하고 싶습니다. 취소 버튼을 비활성화하는 방법에 대한 대답을했지만, 저는 여러분에게 내 upvote를 제공 ​​할 것입니다. – TLama

+0

예, 아마도 맞을 수 있습니다. 그것은 단지 과잉 **입니다! 때로는 ** 더블 탭 **을 사용하여 확실하게! 자바 스윙 repaint() 여전히 나를 괴롭 히고, 아마도 ... 당신이 밖에서'CurPageChanged()'를 사용하고 싶다면, 당신은'WizardForm.Update;를해야한다. 그렇지 않으면 버튼이 새로 고쳐지지 않을 것이다. – fubar

관련 문제