/ Страницата за инсталиране на NSIS показва само бутоните „Затвори“ и „Откажи“ - прозорци, потребителски интерфейс, макроси, инсталатор, nsis

Лицензионната страница на NSIS инсталатора показва само бутоните "Close" и "Cancel" - прозорци, потребителски интерфейс, макроси, инсталатори, nsis

Изградих прост инсталатор на Windows, използвайки NSIS 2.46. Това е кодът на страницата с лиценза

# UI
!include "MUI2.nsh"
!define MUI_LICENSEPAGE_RADIOBUTTONS
!insertmacro MUI_PAGE_LICENSE "..legaldisclaimer.txt"
!insertmacro MUI_LANGUAGE "English"

Когато стартирам инсталационната програма, страницата с лицензипоказва правилно текста на лиценза, но има само деактивиран бутон "Затвори" и активиран бутон "Отказ". След като смените избрания радио бутон на „Приемам условията на лицензионното споразумение“, бутонът „Затвори“ е активиран. И двата бутона карат инсталатора да излезе, ако ги щракна.

Как мога да променя скрипта, за да има бутон "Продължи", ако лицензът е приет?

Отговори:

0 за отговор № 1

Наличието на инсталационна програма само със страница с лиценз е доста безсмислено, всичко трябва да се държи нормално, ако добавите след нея друга страница:

!include "MUI2.nsh"
!define MUI_LICENSEPAGE_RADIOBUTTONS
!insertmacro MUI_PAGE_LICENSE "${__FILE__}"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

Не се препоръчва да се създава инсталационна програма без страница на InstFiles, но това може да се направи:

!include "MUI2.nsh"
!define MUI_LICENSEPAGE_RADIOBUTTONS
!define MUI_PAGE_CUSTOMFUNCTION_SHOW SetNextBtnTextToInstall
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE DoInstall
!insertmacro MUI_PAGE_LICENSE "${__FILE__}"
!insertmacro MUI_LANGUAGE "English"

Function SetNextBtnTextToInstall
GetDlgItem $0 $hwndparent 1
${NSD_SetText} $0 "$(^InstallBtn)"
FunctionEnd

Function DoInstall
MessageBox mb_ok "Install would take place here..."
SetErrorLevel 0
Quit
FunctionEnd