Добавление кнопки справки на страницу мастера InnoSetup - PullRequest
2 голосов
/ 14 апреля 2011

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

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

Ответы [ 2 ]

4 голосов
/ 17 мая 2011

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

Чтобы добавить кнопку в мастер установки, я включилследующий код в обработчике событий 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;  
1 голос
/ 04 октября 2017

Просто чтобы заполнить список:

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;
...