2

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

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

回答

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

刚刚完成上市:

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;