我对Null-soft脚本非常陌生。我们已有用于创建安装程序的脚本。我发现许可证页面显示带有额外< mailto:email id >
文本的电子邮件ID。
我正在尝试使电子邮件ID可点击并隐藏< mailto:email id >
。
请参考下图:
使用RichEdit控件显示许可证,它正在添加多余的文本,因为RTF源中可能同时具有fldinst HYPERLINK
和fldrslt
字段。对我来说,目前尚不清楚[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:
将RichEdit20W
和RichEdit20A
更改为RichEdit50W
并且,如果您无法执行此操作,则可以使用Resource Hacker并修改NSIS \ Stubs中的存根。将对话框102的RichEdit20A
/ RichEdit20W
更改为RichEdit50W
。
无论哪种方式,您还需要添加
Function .onInit
System::Call 'KERNEL32::LoadLibrary(t "msftedit")'
FunctionEnd
到您的.NSI文件。
如果正确执行所有这些步骤,则它将使用仅在Windows XP和更高版本上存在的更新的RichEdit控件,它应正确显示链接而没有多余的后缀。