NSIS не может использовать макрос при использовании Modern UI

У меня есть файл section-db.nsh содержащий:

!macro uninstall_myrian
    Delete $APPDATA\Intrasense\settings\admin.txt
    Delete $APPDATA\Intrasense\settings\user.txt    
!macroend

а также test.nsi с

!include "MUI2.nsh"
!include "section-db.nsh"

Name "Software"
OutFile "installer.exe"

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES

Section hello
SectionEnd

Должен правильно скомпилировать, верно? Ну нет:

!include: "section-db.nsh"
!macro: macro named "uninstall_myrian" already found!
!include: error in script: "section-db.nsh" on line 2
Error in script "Y:\prog\scripts\installer-script\test.nsi" on line 2 -- aborting creation process

Если я прокомментирую включение MUI2.nsh, оно будет правильно скомпилировано.

Если я переименую макрос в myrian_uninst, он правильно компилируется.

В чем проблема?

1 ответ

Решение

Кроме пропавших без вести !insertmacro MUI_LANGUAGE English ваш код компилируется без предупреждения в NSIS 2.46

Другие вопросы по тегам