我通过将自定义许可证文件放入 .wxs
创建了 WiX 3.5 设置。文件:
<WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
这工作得很好,当我运行创建的 .msi
时,会显示链接。文件。
(我正在使用 WixUI_InstallDir
Dialog Set )
现在我想将超链接放入许可证文件中。
我只是通过在写字板中打开文件并粘贴 http://mylink.com
将链接放入文件中。 (写字板自动将其转换为超链接)。
当我在 WiX 中编译它时,许可协议(protocol)对话框显示如下链接:
<http://mylink.com>
我注意到这似乎与写字板自动创建超链接有关(见上文)。
当我删除http://
时来自许可证文件中的链接的一部分,写字板不再将其识别为链接,并且在编译的 .msi
中文件,<
和>
许可协议(protocol)对话框中的内容消失。
有什么想法可以摆脱额外的 <
和>
,除了将链接放入许可证文件中而不带http://
部分?
编辑:
好吧,也许我在使用“超链接”这个词时考虑得还不够。
我真正的意思是:它不必是实际的可点击超链接。
我只想将我的网页地址显示在许可证文件的顶部。
如果它只是文本形式的 URL(不可点击),我完全没问题,但我希望它在我输入时显示,而不是显示 < >
.
问题是,只要我输入任何 URL,写字板就会自动将其转换为超链接,因此我不知道如何让许可协议(protocol)对话框将其视为普通文本。
最佳答案
Windows Installer 不支持可滚动文本控件中的超链接。这就是链接无法正确显示的原因。即使是这样,当您单击它时也不会发生任何事情,因为 Windows Installer 不处理此事件。
仅当您使用处理它的外部 UI 时,可滚动文本控件中的超链接才有效。
编辑:
如果您只想将某些文本显示为链接,通常的方法是将其设置为蓝色并加下划线。正如您已经注意到的那样,Windows Installer 无法正确显示传统的超链接。
如果您想将链接显示为普通文本,只需使用普通文本编辑器(例如 notepad.exe)打开 RTF 文件并删除超链接标记即可。只需遵循正常的文本格式,您就可以轻松找到要删除的标记。
关于hyperlink - WiX 自定义许可证文件 : setup shows links with < >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7633617/