Лицензия отображается с помощью элемента управления RichEdit, и он добавляет этот дополнительный текст, поскольку в вашем источнике RTF, вероятно, есть поля fldinst HYPERLINK
и fldrslt
. Мне несколько непонятно, какой точный синтаксис для ссылки должен быть в RTF.
Если допустимо использование "mailto:test@example.com" с префиксом mailto, вы можете просто вставить это как простой текст, и пусть обработчик URL-адреса автоматического c справится с этим:
{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard Hello mailto:test@example.com World}
Если это недопустимо, необходимо изменить NSIS для использования другой версии элемента управления RichEdit.
Если вы можете скомпилировать NSIS, вы можете изменить Source \ exehead \ resource.r c:
Изменить RichEdit20W
и RichEdit20A
на RichEdit50W
, и если вы не можете сделать это, вы можете использовать Resource Hacker и изменить заглушки в NSIS \ Stubs. Измените в Dialog 102 RichEdit20A
/ RichEdit20W
на RichEdit50W
.
В любом случае вам также необходимо добавить
Function .onInit
System::Call 'KERNEL32::LoadLibrary(t "msftedit")'
FunctionEnd
в файл .NSI.
Если вы выполните все эти шаги правильно, тогда он будет использовать более новый элемент управления RichEdit, который существует только на Windows XP и более поздних версиях, и он должен правильно отображать ссылку без дополнительного суффикса.