Hyperlink 如何在Inno设置中显示超链接?

Hyperlink 如何在Inno设置中显示超链接?,hyperlink,installation,inno-setup,messagebox,pascalscript,Hyperlink,Installation,Inno Setup,Messagebox,Pascalscript,我正在Inno安装程序中进行验证,以检查计算机上是否安装了Microsoft更新,如果没有,我将显示一个简单的消息框,告诉用户需要更新,这是消息代码: MsgBox( “您的系统需要Microsoft提供的更新。”+ '请按照此链接安装它:'+ 'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en', MB信息,MB_OK); 我

我正在Inno安装程序中进行验证,以检查计算机上是否安装了Microsoft更新,如果没有,我将显示一个简单的消息框,告诉用户需要更新,这是消息代码:

MsgBox(
“您的系统需要Microsoft提供的更新。”+
'请按照此链接安装它:'+
'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en',
MB信息,MB_OK);
我想将URL设置为网页的超链接,但我还没有弄清楚如何在Inno安装程序中将文本添加为超链接

谢谢。

Inno Setup中的
MsgBox()
函数是标准Windows函数的包装器,AFAIK不支持嵌入链接,因此无法在此处简单显示链接

但是,您可以做的是通知用户需要更新,并询问他们是否在默认浏览器中打开链接。比如:

function InitializeSetup(): Boolean;
var
  ErrCode: integer;
begin
  if MsgBox('Your system requires an update supplied by Microsoft. Would you like to visit the download page now?', mbConfirmation, MB_YESNO) = IDYES
  then begin
    ShellExec('open', 'http://www.microsoft.com/downloads/details.aspx?FamilyID=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en',
      '', '', SW_SHOW, ewNoWait, ErrCode);
  end;
  Result := False;
end;

此代码将中止安装,但您可以创建一个自定义页面来检查更新是否已安装,否则将阻止导航到下一个页面。但是,只有在无需重新启动系统即可安装更新的情况下,此选项才有效。

提供的答案在Windows 7上运行良好,但在Windows 8上运行不正常(至少在我的安装程序中不起作用)。我不得不将
ShellExec
更改为
ShellExecAsOriginalUser
@JensHolstSchumacher:谢谢,你也可以用这些外部信息编辑答案,然后由更有经验的用户批准。@JensHolstSchumacher你知道情况是否仍然如此吗?我会测试,但我没有Windows8