电子邮件超链接在使用NSIS创建的安装程序的许可证页面中显示mailto

问题描述 投票:0回答:1

我对Null-soft脚本非常陌生。我们已有用于创建安装程序的脚本。我发现许可证页面显示带有额外< mailto:email id >文本的电子邮件ID。

我正在尝试使电子邮件ID可点击并隐藏< mailto:email id >

请参考下图:

Reference Image

nsis
1个回答
0
投票

使用RichEdit控件显示许可证,它正在添加多余的文本,因为RTF源中可能同时具有fldinst HYPERLINKfldrslt字段。对我来说,目前尚不清楚[RTF]中确切的syntax for a link应该是什么。

如果可接受带有mailto前缀的“ mailto:[email protected]”,那么您可以将其插入为纯文本,然后让自动URL处理程序处理它:

{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard Hello mailto:[email protected] World}

如果不可接受,则必须修改NSIS以使用其他版本的RichEdit控件。

如果您能够编译NSIS,则可以更改Source \ exehead \ resource.rc:

RichEdit20WRichEdit20A更改为RichEdit50W

并且,如果您无法执行此操作,则可以使用Resource Hacker并修改NSIS \ Stubs中的存根。将对话框102的RichEdit20A / RichEdit20W更改为RichEdit50W

无论哪种方式,您还需要添加

Function .onInit
System::Call 'KERNEL32::LoadLibrary(t "msftedit")'
FunctionEnd

到您的.NSI文件。

如果正确执行所有这些步骤,则它将使用仅在Windows XP和更高版本上存在的更新的RichEdit控件,它应正确显示链接而没有多余的后缀。

© www.soinside.com 2019 - 2024. All rights reserved.