Добавление кнопки справки на страницу мастера InnoSetup

У меня есть сценарий установки с пользовательской страницей мастера, чтобы получить выбор от пользователя. Было бы неплохо иметь кнопку справки и предоставить небольшой файл CHM с возможностью установки, чтобы я мог предоставить подробное объяснение того, каковы варианты.

Кто-нибудь знает, есть ли простой способ сделать это?

2 ответа

Решение

См. Этот пост для получения подробной информации о том, как включить файл в пакет установки, и ссылки на этот файл перед началом установки.

Чтобы добавить кнопку в мастер установки, я включил следующий код в InitializeWizard обработчик события.

procedure CreateHelpButton (ParentForm   : TSetupForm ; 
                            X            : integer ;
                            Y            : integer ;
                            W            : integer ;
                            H            : integer) ;

var
  HelpButton : TNewButton ;
begin
  HelpButton         := TNewButton.Create (ParentForm) ;
  HelpButton.Left    := X ;
  HelpButton.Top     := Y ;
  HelpButton.Width   := W ;
  HelpButton.Height  := H ;
  HelpButton.Caption := '&Help' ;
  HelpButton.OnClick := @HelpButtonOnClick ;
  HelpButton.Parent  := ParentForm ;
end;

procedure InitializeWizard () ;

begin
  CreateHelpButton (
    WizardForm, ScaleX (20), WizardForm.CancelButton.Top,
    WizardForm.CancelButton.Width, WizardForm.CancelButton.Height) ;
end;  

Просто для завершения списка:

procedure HelpButtonOnClick(Sender: TObject);
var
  ResultCode: Integer;
begin
  ExtractTemporaryFile('installer.chm');

  if (FileExists(ExpandConstant('{tmp}\installer.chm'))) then
  begin
    ShellExec('', ExpandConstant('{tmp}\installer.chm'), '', ExpandConstant('{tmp}'), SW_SHOW, ewNoWait, ResultCode);
  end;
end;
Другие вопросы по тегам