Подтвердить что ты не робот

Как изменить текст в MUI_WELCOME_PAGE при использовании MUI2 для NSIS?

Я хочу добавить метку, отображающую полную строку версии на экране приветствия в установщике, который я создаю, используя NSIS с MUI2.

Я искал информацию о том, как это сделать, но нашел ссылки на использование MUI_INSTALLOPTIONS *, который я нашел ws, устаревший для MUI2. Другой упоминал о новых версиях с помощью INSTALLOPTIONS * с теми же параметрами, но я не мог заставить его работать. Я также нашел ссылку на использование nsDialogs для этого - это то, что я использую для своих пользовательских страниц. Однако - я не нашел ссылок или примеров о том, как изменить любую из существующих страниц, которая поставляется с MUI2.nsh.

Я нашел способ изменить MUI_HEADERTEXT, но это не влияет на экран приветствия. Мне жаль, что не было возможности изменить приветствие. Возможно, используя MUI_WELCOMETITLE и MUI_WELCOMEBODY или аналогичные.

4b9b3361

Ответ 1

Существует 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

.. или добавьте новый элемент управления:

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