Я пытаюсь создать пользовательскую страницу деинсталлятора с формой обратной связи. Я прочитал документацию (https://www.electron.build/configuration/nsis#NsisOptions -скрипт ) и сделал все с помощью макросов customUnInstall. Я нашел некоторые проблемы с той же проблемой, но она не решена (https://github.com/electron-userland/electron-builder/issues/3871). Проблема заключается в использовании функций.
При попытке построить возвращается ошибка: «предупреждение 6020: код сценария деинсталлятора найден, но WriteUninstaller никогда не использовался - деинсталлятор не будет создан. Ошибка: предупреждение рассматривается как ошибка»
Существует код скрипта, который я вставляю в скрипт customUnInstall с помощью! Insertmacro:
Function un.TestFunc
MessageBox MB_OK "HELLO"
FunctionEnd
!macro testmacro
Var /GLOBAL Dialog
Var /GLOBAL CheckBox
nsDialogs::Create 1018
Pop $Dialog
${NSD_CreateCheckbox} 0 25u 100% 10u "&Checkbox 1"
Pop $CheckBox
${NSD_OnClick} $CheckBox un.TestFunc
nsDialogs::Show
!macroend
Для получения дополнительной информации, есть некоторые вещи о создании собственного установщика с использованием утилит для сборки электронов https://www.electron.build/configuration/nsis#NsisOptions -скрипт
Итак, что я делаю не так? Я был бы очень признателен, если бы вы могли мне помочь.
UPD: Вопрос № 2. Я нашел ответ о пользовательской странице установщика ( Добавить пользовательскую страницу / поле в настройку NSIS, созданную с помощью Electron-Builder ), но если я сделаю то же самое с разделом удаления, появится та же ошибка. Конечно, в пакете. json Я включаю uninstall.n sh вместо installer.n sh.
!include nsDialogs.nsh
XPStyle on
Var Dialog
Var Text
UninstPage custom un.myCustomPage
Function un.myCustomPage
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
${NSD_CreateLabel} 0 15 100% 20u "We are looking forward your return!"
Pop $Text
nsDialogs::Show
FunctionEnd
Section
SectionEnd