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

StackOverflow https://stackoverflow.com/questions/5318974

  •  24-10-2019
  •  | 
  •  

Вопрос

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

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

Я нашел способ изменить MUI_HeaderText, но это не влияет на приветственный экран. Я бы хотел, чтобы был способ также изменить WelcomeText. Может быть, используя mui_welcometitle и mui_welcomebody или аналогично.

Это было полезно?

Решение

Существует mui_welcomepage_text, но это полезно только в том случае, если вы хотите изменить весь текст, а не просто добавить что -то.

Во время функции показа для страницы вы можете изменить текст любого элемента управления:

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top