I need to change Messages at runtime. I have a AfterInstall procedure that checks to see if a bat file was successful. If it is not, I want to change the value of ExitSetupMessage just before calling WizardForm.Close. I was hoping to do something like this english.ExitSetupMessage := ‘THIS IS THE PART THAT DOES NOT WORK’;. Code examples would be appreciated. Thank you.
[Languages]
Name: english; MessagesFile: compiler:Default.isl
[Files]
Source: {src}\test.bat; DestDir: {tmp}; AfterInstall: ValidateInstall
[Code]
procedure ValidateInstall();
var
ResultCode : Integer;
begin
if not Exec(ExpandConstant('{tmp}\test.bat'), '', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
begin
english.ExitSetupMessage := 'THIS IS THE PART THAT DOES NOT WORK';
WizardForm.Close;
end;
end;
I don’t know of a way to change the messages at runtime.
However in the case you posted I know of a workaround. You would set your CustomState before calling
WizardForm.CloseThe side effect is you lose the
Exit Setup?title of the dialog box.You can use
function ExitSetupMsgBox: Boolean;when you don’t want to change the messageto keep the title around.