在为NSIS使用MUI2时,如何修改MUI_WELCOME_PAGE中的文本?

Spi*_*lis 14 installer nsis mui

我想在我使用带有MUI2的NSIS创建的安装程序的欢迎屏幕中添加一个显示完整版本字符串的标签.

我已经搜索了有关如何执行此操作的信息,但只找到了使用MUI_INSTALLOPTIONS*的引用,我发现它已被弃用于MUI2.另一个提到使用INSTALLOPTIONS*的新版本具有相同的选项,但我无法使其正常工作.我最后还找到了使用nsDialogs的参考 - 这就是我用于自定义页面的内容.但是 - 我没有找到关于如何更改MUI2.nsh附带的任何现有页面的参考或示例.

我找到了一种更改MUI_HEADERTEXT的方法,但这不会影响欢迎屏幕.我希望有一种方法可以改变欢迎文本.也许使用MUI_WELCOMETITLE和MUI_WELCOMEBODY或类似的.

And*_*ers 11

有MUI_WELCOMEPAGE_TEXT但它只在您想要更改所有文本而不仅仅是附加内容时才有用.

在页面的show函数期间,您可以更改任何控件的文本:

outfile test.exe
requestexecutionlevel user

!include MUI2.nsh

#!define MUI_WELCOMEPAGE_TEXT "New text goes here"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"


Function MyWelcomeShowCallback
SendMessage $mui.WelcomePage.Text ${WM_SETTEXT} 0 "STR:$(MUI_TEXT_WELCOME_INFO_TEXT)$\n$\nVersion: foo.bar"
FunctionEnd

Section
SectionEnd
Run Code Online (Sandbox Code Playgroud)

..或添加一个新控件:

outfile test.exe
requestexecutionlevel user

!include MUI2.nsh

!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"


Function MyWelcomeShowCallback
${NSD_CreateLabel} 120u 150u 50% 12u "Version: foo.bar"
Pop $0
SetCtlColors $0 "" "${MUI_BGCOLOR}"
FunctionEnd

Section
SectionEnd
Run Code Online (Sandbox Code Playgroud)

  • 我使用了第二个建议,并没有尝试过第一个建议.工作就像一个魅力,谢谢:) (4认同)