Wix指定许可证未显示任何内容。

51

我正在尝试为我的Wix安装项目指定许可证。

我已经在Wordpad / Notepad / VS中创建了一个带有几个虚拟行的RTF,并尝试了几种不同的方法,因为我读到说使用Word创建的RTF会有问题,但我认为这里不应该出现这种情况。无论如何,我还在Notepad ++中打开它并验证其中没有隐藏的奇怪字符。

我这样指定文件:

<WixVariable Id="WixUILicenseRtf" Value="$(var.ProjectDir)\Resources\test.rtf" />

该文件存在于项目的 Resources 目录下。

当我运行安装程序时,在许可证区域中显示的只是一个没有滚动条等内容的空白文本框。

我是否需要做其他操作?


3
你把那个 <WixVariable> 元素放在哪里了?愚蠢的文档对此一带而过。 - C.J.
4个回答

73

将license.rtf文件保存到WordPad中。请参阅此网页(http://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html),特别是这个部分:

已知富文本控件用于显示许可文件内容存在问题,可能导致文本在用户滚动控件之前显示为空白。这通常是由于复杂的RTF内容(例如在Microsoft Word中保存RTF文件时生成的RTF)引起的。如果您在设置UI中遇到此行为,则以下任一解决方法都会在大多数情况下修复它:

使用WordPad打开您的RTF文件并从其中保存,以删除文件中的复杂RTF内容。保存后重新构建MSI。使用除WixUI_Minimal集之外的对话框集。这个问题通常只出现在设置期间第一个显示许可协议屏幕的情况下,而这仅会在WixUI_Minimal对话框集中发生。


4
即使我使用新文本文件创建原始文件,将其重命名为rtf并在wordpad中保存,它仍然很奇怪,但当我从wordpad开始然后保存文档时,它就起作用了。 - Daniel Powell
15
我发现了一个额外的技巧来使这个方法生效——仅仅是用WordPad打开一个已存在的复杂RTF文件并重新保存它是不行的。我所做的,并且一直有效的方法是使用Microsoft Word打开文件,全选(CTRL-A),复制(CTRL-C),然后在WordPad窗口中黏贴(CTRL-V)。最后在WordPad中保存该文件。这样就创建了一个可以被RTF控件使用的简化版RTF文件。 - Kevin Brock
将对话框更改为除WixUI_Minimal之外的其他内容,虽然可以解决此问题,但并不总是可接受的解决方法。幸运的是,@KevinBrock的重新保存步骤在我使用WixUI_Minimal时有效。 - Terrabits
WixUI_customization 链接已损坏。 - user3613932
链接现在已经修复,@user3613932。 - Michael Kelley
感谢您。谢谢。 - user3613932

10

感谢 @Daniel Powell 的决定

  1. 打开WordPad
  2. 编写你的文本
  3. 默认保存 (rtf)
  4. 重新构建你的msi
  5. 获得收益。

3

在WordPad中打开trf文件而不是md-word,这将解决滚动问题。


-1
<WixVariable Id="WixUILicenseRtf" Value="test.rtf" />

并在安装项目中包含您的test.rtf文件。


2
你能否修正你的回答,包括放置那行代码的精确位置? - ereOn
不是问题的答案。问题是文本没有显示。 - Vico

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接