Используйте 2 изображения страницы приветствия / финала sh в nsis - PullRequest
0 голосов
/ 24 апреля 2020

Я использую этот код для изменения MUI_WELCOMEFINISH_BITMAP, текста и заголовка страницы приветствия.

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

  !define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\bg2_2.bmp"
  !insertmacro MUI_PAGE_WELCOME

  !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Docs\Modern UI\License.txt"
  !insertmacro MUI_PAGE_COMPONENTS
  !insertmacro MUI_PAGE_DIRECTORY

  !define MUI_WELCOMEPAGE_TITLE "Title"
  !define MUI_WELCOMEPAGE_TEXT  "Text"
  !define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback
  !insertmacro MUI_PAGE_WELCOME

  !insertmacro MUI_PAGE_INSTFILES
  !insertmacro MUI_PAGE_FINISH

Я хотел изменить растровое изображение дважды, один раз для приветствия и один раз для финала sh стр. К сожалению, !define MUI_WELCOMEFINISHPAGE_BITMAP $bmp можно использовать только один раз. Я знаю, что можно изменить путь bmp в Welcome.nsh, но я бы лучше определил все в скрипте .nsi. Как настроить отличительные enet изображения для страницы приветствия и конечной страницы sh? По сути, как можно изменить значение, если для его создания было использовано !defined.

1 Ответ

0 голосов
/ 24 апреля 2020

Нет определения, которое вы можете установить для использования разных изображений, но вы можете перезаписать изображение перед отображением страницы:

Function ForceWizard1
SetOverWrite on
File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${NSISDIR}\Contrib\Graphics\Wizard\llama.bmp"
SetOverWrite lastused
FunctionEnd
Function ForceWizard2
SetOverWrite on
File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${NSISDIR}\Contrib\Graphics\Wizard\orange-nsis.bmp"
SetOverWrite lastused
FunctionEnd

!include MUI2.nsh
!define MUI_PAGE_CUSTOMFUNCTION_PRE ForceWizard1
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_PRE ForceWizard2
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE English
...