nsis许可证页面打印按钮-为什么文本显示为中文?

nsis许可证页面打印按钮-为什么文本显示为中文?,nsis,Nsis,我已经搜索了几个小时,但没有找到解决方案。一旦切换到NSIS 3.x,许可证页面打印按钮文本将以中文显示。我正在使用MUI2。我找不到如何让它显示英文文本。其余的表单文本和其他按钮都是英文的。打印按钮也正确地出现在NSIS 2.x中,使用的是与我们使用的完全相同的.nsi文件 除了还原NSIS版本之外,还有什么办法可以让它工作吗?该插件对我来说工作正常,您一定复制到了错误的.DLL,因为当Unicode插件试图显示ANSI文本时,它会被复制 使用NSIS v2时,只需将NsRichEdit.zi

我已经搜索了几个小时,但没有找到解决方案。一旦切换到NSIS 3.x,许可证页面打印按钮文本将以中文显示。我正在使用MUI2。我找不到如何让它显示英文文本。其余的表单文本和其他按钮都是英文的。打印按钮也正确地出现在NSIS 2.x中,使用的是与我们使用的完全相同的.nsi文件


除了还原NSIS版本之外,还有什么办法可以让它工作吗?

该插件对我来说工作正常,您一定复制到了错误的.DLL,因为当Unicode插件试图显示ANSI文本时,它会被复制

使用NSIS v2时,只需将NsRichEdit.zip解压缩到NSIS安装文件夹的根目录

如果使用的是NSIS v3,则必须将NsRichEdit.zip:\Plugins\NsRichEdit.dll放入\NSIS\Plugins\x86 ansi\中,并将NsRichEdit.zip:\Unicode\Plugins\NsRichEdit.dll放入\NSIS\Plugins\x86 Unicode中

然后,您可以选择是否要创建Unicode或ANSI安装程序:

Name `nsRichEdit Test`
OutFile nsRichEdit.exe
RequestExecutionLevel user
Unicode True ; This creates a Unicode installer

PageEx License
  PageCallbacks `` License_Show
  LicenseData Example.nsi
PageExEnd

Function License_Show
  nsRichEdit::AddPrintButton `&Print` `$(^Name) License Agreement`
FunctionEnd

Section
SectionEnd

它没有现成的打印按钮,打印按钮是从哪里来的?脚本中是否有
Unicode true
?我假设它是一个打印按钮。文本右侧似乎写着“如果您接受协议条款,…”。它一直存在。发布您的licensepage代码或链接到您获得打印功能的wiki页面。我尝试在,但是NSIS编译器给了我一个错误,不管我把它放在哪里。我之前已经将dll复制到x86 ansi目录,因为我没有使用
Unicode True
。昨天,我尝试将驱动程序复制到x86 unicode目录,但这并没有解决问题。当我昨天尝试输入
Unicode True
时,我在构建安装程序时不断遇到错误。但是我认为我没有在.nsi文件中把它放得足够高。今天,当我把它放在顶部附近时,我能够构建安装程序,并且打印按钮文本是正确的。谢谢你的帮助!zip文件有两个插件.dll文件,如果你复制了一个错误的文件,就会以奇怪的方式破坏它。Unicode True必须在节/函数中的任何代码之前出现,但编译器应在错误消息中向您提供有关这一点的线索。Anders,您能告诉我,为什么我的安装程序给我一个没有文本的空白打印按钮吗?此处可能有一些不同的语法:
nsRichEdit::AddPrintButton
&Print``(^Name)许可协议``