将帮助按钮添加到InnoSetup向导页面

时间:2011-04-14 04:20:01

标签: windows-installer inno-setup context-sensitive-help html-help

我有一个带有自定义向导页面的安装脚本,可以从用户那里获得选择。最好有一个帮助按钮,并提供一个带有可安装程序的小型CHM文件,以便我可以提供有关选项的详细说明。

任何人都知道是否有一种简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:4)

有关如何在安装开始之前包含安装包的文件并引用该文件的详细信息,请参阅this post

要向安装向导添加按钮,我在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 :(得分:1)

只是为了完成列表:

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;