Pregunta

Quiero agregar una etiqueta que muestra la versión completa de la versión en la pantalla de bienvenida en el instalador que estoy creando usando NSIS con MUI2.

He buscado información sobre cómo hacer esto, pero solo encontré referencias a usar mui_installoptions* que encontré en desuso para mui2. Otro se refirió a las versiones más nuevas utilizando InstallOptions* con las mismas opciones, pero no pude funcionar. Finalmente también encontré una referencia al uso de NSDialogs para esto, que es lo que estoy usando para mis páginas personalizadas. Sin embargo, no encontré referencia ni muestras sobre cómo cambiar cualquiera de las páginas existentes que vienen con MUI2.NSH.

Encontré una manera de cambiar el mui_headtext, pero eso no afecta la pantalla de bienvenida. Desearía que hubiera una manera de cambiar también el bienvenido. Tal vez usando mui_welcometitle y mui_welcomebody o similar.

¿Fue útil?

Solución

Hay mui_welcomePage_Text, pero solo es útil si desea cambiar todo el texto y no solo agregar algo.

Durante la función Show para la página, puede cambiar el texto de cualquier control:

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

.. o agregar un nuevo control:

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top