安装时在Inno Setup中显示许可协议链接

时间:2012-02-11 07:50:27

标签: inno-setup

我正在为我的应用程序使用Inno Setup。我想在安装时在Inno Setup中显示链接(许可协议)(单独的许可协议向导除外)。我希望将此链接与某个任务相结合。当用户点击该链接时,它将导航到特定的URL。

2 个答案:

答案 0 :(得分:9)

我知道我已经很晚了......以下代码脚本在向导表单的左下角创建了License Agreement链接标签。该标签有一个蓝色下划线字体和一个悬停的手形光标,因此它看起来和感觉就像一个常见的网页链接。在其单击事件上,将在默认Web浏览器中打开指定的URL。然后,在除许可证页面1之外的所有向导页面上都可以看到此标签:

[Code]
var
  LicenseLinkLabel: TLabel;

procedure LicenseLinkClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  ShellExec('', 'http://www.stackoverflow.com', '', '', SW_SHOW, ewNoWait, 
    ErrorCode);
end;

procedure InitializeWizard;
begin
  LicenseLinkLabel := TLabel.Create(WizardForm);
  LicenseLinkLabel.Parent := WizardForm;
  LicenseLinkLabel.Left := 8;
  LicenseLinkLabel.Top := WizardForm.ClientHeight - 
    LicenseLinkLabel.ClientHeight - 8;
  LicenseLinkLabel.Cursor := crHand;
  LicenseLinkLabel.Font.Color := clBlue;
  LicenseLinkLabel.Font.Style := [fsUnderline];
  LicenseLinkLabel.Caption := 'License Agreement';
  LicenseLinkLabel.OnClick := @LicenseLinkClick;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  LicenseLinkLabel.Visible := CurPageID <> wpLicense;
end;

结果(点击放大):

Click to enlarge Click to enlarge

答案 1 :(得分:2)

创建RTF格式的许可证文本(使用Wordpad以获得非常小的文件大小)并在文本中键入纯文本的超链接,不需要额外的功能(例如'http://stackoverflow.com')。 InnoSetup将显示此URL并使其可点击。请注意,电子邮件链接无法正常工作。

想试试吗?保存整个文本Wordpad,保存为RTF并将其链接到InnoSetup。

荷兰