diff --git a/.gitignore b/.gitignore index 97f280626..df70705db 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,7 @@ UpgradeLog*.htm *.log .builds *.pidb +*.vcxproj.filters PowerEditor/bin/notepad++.exe PowerEditor/bin/SciLexer.dll @@ -71,18 +72,25 @@ PowerEditor/bin/plugins/ PowerEditor/bin/updater/ PowerEditor/bin/functionList/ PowerEditor/bin64/ +PowerEditor/binarm64/ PowerEditor/bin/themes/ PowerEditor/installer/bin/wingup/ PowerEditor/installer/build/ PowerEditor/installer/minimalist/ PowerEditor/installer/minimalist64/ +PowerEditor/installer/minimalistArm64/ PowerEditor/installer/zipped.package.release/ PowerEditor/installer/zipped.package.release64/ +PowerEditor/installer/zipped.package.releaseArm64/ PowerEditor/visual.net/Unicode Debug/ PowerEditor/visual.net/Unicode Release/ PowerEditor/visual.net/notepadPlus.sln PowerEditor/visual.net/x64/Unicode Debug/ PowerEditor/visual.net/x64/Unicode Release/ +PowerEditor/visual.net/ARM64 +PowerEditor/src/tools/NppShell/build_ARM64 +PowerEditor/src/tools/NppShell/build_Win32 +PowerEditor/src/tools/NppShell/build_x64 # scintilla - generated files scintilla/bin/SciLexer.* @@ -92,6 +100,9 @@ scintilla/bin/libscintilla.lib scintilla/win32/*.lib scintilla/win32/Lexers.a scintilla/win32/ScintRes.res +scintilla/win32/ARM64 +scintilla/win32/Unicode Release/ +scintilla/win32/Unicode Debug/ scintilla/boostregex/bin scintilla/boostregex/boostpath.mak diff --git a/PowerEditor/installer/nppSetup.nsi b/PowerEditor/installer/nppSetup.nsi index 85fcca49d..ba496a213 100644 --- a/PowerEditor/installer/nppSetup.nsi +++ b/PowerEditor/installer/nppSetup.nsi @@ -37,6 +37,8 @@ ManifestDPIAware true !ifdef ARCH64 OutFile ".\build\npp.${APPVERSION}.Installer.x64.exe" +!else ifdef ARCHARM64 +OutFile ".\build\npp.${APPVERSION}.Installer.arm64.exe" !else OutFile ".\build\npp.${APPVERSION}.Installer.exe" !endif @@ -168,6 +170,10 @@ noDelete32: MessageBox MB_OK "You cannot install Notepad++ 64-bit version on your 32-bit system.$\nPlease download and install Notepad++ 32-bit version instead." Abort ${EndIf} +!else ifdef ARCHARM64 + ; Notepad++ ARM64 installer is a 32 bits application so it can be run under x86/x64/arm64 device. + ; Since there's no way to detect ARM device in NSIS, here we do nothing. + ; The ARM64 binaries are able to be deployed on non ARM devices after installation, but they can't be executed. !else ; 32-bit installer ${If} ${RunningX64} ; check if 64-bit version has been installed if yes, ask user to remove it @@ -221,10 +227,12 @@ ${MementoSection} "Context Menu Entry" explorerContextMenu ; There is no need to keep x86 NppShell_06.dll in 64 bit installer ; But in 32bit installer both the Dlls are required - ; As user can install 32bit npp version on x64 bit machine, that time x64 bit NppShell is required. + ; As user can install 32bit npp version on x64 bit machine, that time x64 bit NppShell is required. !ifdef ARCH64 File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" + !else ifdef ARCHARM64 + File /oname=$INSTDIR\NppShell_06.dll "..\binarm64\NppShell64.dll" !else ${If} ${RunningX64} File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" diff --git a/PowerEditor/installer/nsisInclude/binariesComponents.nsh b/PowerEditor/installer/nsisInclude/binariesComponents.nsh index c3532343e..642ea788d 100644 --- a/PowerEditor/installer/nsisInclude/binariesComponents.nsh +++ b/PowerEditor/installer/nsisInclude/binariesComponents.nsh @@ -26,6 +26,8 @@ SectionGroup "Plugins" Plugins SetOutPath "$PLUGIN_INST_PATH\NppExport" !ifdef ARCH64 File "..\bin64\plugins\NppExport\NppExport.dll" +!else ifdef ARCHARM64 + File "..\binarm64\plugins\NppExport\NppExport.dll" !else File "..\bin\plugins\NppExport\NppExport.dll" !endif @@ -40,6 +42,8 @@ SectionGroup "Plugins" Plugins SetOutPath "$PLUGIN_INST_PATH\mimeTools" !ifdef ARCH64 File "..\bin64\plugins\mimeTools\mimeTools.dll" +!else ifdef ARCHARM64 + File "..\binarm64\plugins\mimeTools\mimeTools.dll" !else File "..\bin\plugins\mimeTools\mimeTools.dll" !endif @@ -53,6 +57,8 @@ SectionGroup "Plugins" Plugins SetOutPath "$PLUGIN_INST_PATH\NppConverter" !ifdef ARCH64 File "..\bin64\plugins\NppConverter\NppConverter.dll" +!else ifdef ARCHARM64 + File "..\binarm64\plugins\NppConverter\NppConverter.dll" !else File "..\bin\plugins\NppConverter\NppConverter.dll" !endif @@ -69,6 +75,12 @@ ${MementoSection} "Auto-Updater" AutoUpdater File "..\bin64\updater\gup.xml" File "..\bin64\updater\LICENSE" File "..\bin64\updater\README.md" +!else ifdef ARCHARM64 + File "..\binarm64\updater\GUP.exe" + File "..\binarm64\updater\libcurl.dll" + File "..\binarm64\updater\gup.xml" + File "..\binarm64\updater\LICENSE" + File "..\binarm64\updater\README.md" !else File "..\bin\updater\GUP.exe" File "..\bin\updater\libcurl.dll" @@ -85,6 +97,8 @@ ${MementoSection} "Plugins Admin" PluginsAdmin SetOutPath $ALLUSERS_PLUGIN_CONF_PATH !ifdef ARCH64 File "..\bin64\plugins\Config\nppPluginList.dll" +!else ifdef ARCHARM64 + File "..\binarm64\plugins\Config\nppPluginList.dll" !else File "..\bin\plugins\Config\nppPluginList.dll" !endif diff --git a/PowerEditor/installer/nsisInclude/globalDef.nsh b/PowerEditor/installer/nsisInclude/globalDef.nsh index 7c00c560f..74838da27 100644 --- a/PowerEditor/installer/nsisInclude/globalDef.nsh +++ b/PowerEditor/installer/nsisInclude/globalDef.nsh @@ -23,6 +23,8 @@ !ifdef ARCH64 !getdllversion "..\bin64\notepad++.exe" nppVer_ +!else ifdef ARCHARM64 + !getdllversion "..\binarm64\notepad++.exe" nppVer_ !else !getdllversion "..\bin\notepad++.exe" nppVer_ !endif diff --git a/PowerEditor/installer/nsisInclude/mainSectionFuncs.nsh b/PowerEditor/installer/nsisInclude/mainSectionFuncs.nsh index 48eb72217..6b3a09601 100644 --- a/PowerEditor/installer/nsisInclude/mainSectionFuncs.nsh +++ b/PowerEditor/installer/nsisInclude/mainSectionFuncs.nsh @@ -94,6 +94,8 @@ Function copyCommonFiles !ifdef ARCH64 File "..\bin64\notepad++.exe" +!else ifdef ARCHARM64 + File "..\binarm64\notepad++.exe" !else File "..\bin\notepad++.exe" !endif diff --git a/PowerEditor/installer/nsisInclude/tools.nsh b/PowerEditor/installer/nsisInclude/tools.nsh index a802da2df..a7c014b2b 100644 --- a/PowerEditor/installer/nsisInclude/tools.nsh +++ b/PowerEditor/installer/nsisInclude/tools.nsh @@ -163,6 +163,8 @@ Function writeInstallInfoInRegistry WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" !ifdef ARCH64 WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (64-bit x64)" + !else ifdef ARCHARM64 + WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (ARM 64-bit)" !else WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (32-bit x86)" !endif diff --git a/PowerEditor/installer/nsisInclude/uninstall.nsh b/PowerEditor/installer/nsisInclude/uninstall.nsh index e10727bf6..b795116bb 100644 --- a/PowerEditor/installer/nsisInclude/uninstall.nsh +++ b/PowerEditor/installer/nsisInclude/uninstall.nsh @@ -139,6 +139,8 @@ FunctionEnd ;Remove from registry... !ifdef ARCH64 SetRegView 32 +!else ifdef ARCHARM64 + SetRegView 32 !else SetRegView 64 !endif @@ -147,6 +149,8 @@ FunctionEnd ;DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" !ifdef ARCH64 SetRegView 64 +!else ifdef ARCHARM64 + SetRegView 64 !else SetRegView 32 !endif @@ -174,6 +178,8 @@ FunctionEnd Section Uninstall !ifdef ARCH64 SetRegView 64 +!else ifdef ARCHARM64 + SetRegView 64 !else SetRegView 32 !endif diff --git a/PowerEditor/installer/packageAll.bat b/PowerEditor/installer/packageAll.bat index 09d9fc0bd..a51dfa096 100644 --- a/PowerEditor/installer/packageAll.bat +++ b/PowerEditor/installer/packageAll.bat @@ -23,36 +23,57 @@ signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://not If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\notepad++.exe If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\notepad++.exe +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\NppShell_06.dll If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\NppShell64_06.dll If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\NppShell64.dll +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\Config\nppPluginList.dll If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\Config\nppPluginList.dll If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\Config\nppPluginList.dll +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\updater\GUP.exe If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\updater\GUP.exe If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\updater\GUP.exe +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\updater\libcurl.dll If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\updater\libcurl.dll If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\updater\libcurl.dll +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\NppExport\NppExport.dll +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\NppExport\NppExport.dll If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\NppExport\NppExport.dll +If ErrorLevel 1 goto End + signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\mimeTools\mimeTools.dll +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\mimeTools\mimeTools.dll If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\mimeTools\mimeTools.dll +If ErrorLevel 1 goto End + signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin\plugins\NppConverter\NppConverter.dll +If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\bin64\plugins\NppConverter\NppConverter.dll If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ ..\binarm64\plugins\NppConverter\NppConverter.dll +If ErrorLevel 1 goto End :NoSign @@ -86,6 +107,7 @@ If ErrorLevel 1 goto End copy /Y ..\bin\"notepad++.exe" .\minimalist\ If ErrorLevel 1 goto End + rmdir /S /Q .\minimalist64 mkdir .\minimalist64 mkdir .\minimalist64\userDefineLangs @@ -111,6 +133,33 @@ If ErrorLevel 1 goto End copy /Y ..\bin64\"notepad++.exe" .\minimalist64\ If ErrorLevel 1 goto End + +rmdir /S /Q .\minimalistArm64 +mkdir .\minimalistArm64 +mkdir .\minimalistArm64\userDefineLangs + +copy /Y ..\..\LICENSE .\minimalistArm64\license.txt +If ErrorLevel 1 goto End +copy /Y ..\bin\readme.txt .\minimalistArm64\ +If ErrorLevel 1 goto End +copy /Y ..\bin\change.log .\minimalistArm64\ +If ErrorLevel 1 goto End +copy /Y "..\bin\userDefineLangs\markdown._preinstalled.udl.xml" .\minimalistArm64\userDefineLangs\ +If ErrorLevel 1 goto End +copy /Y ..\src\langs.model.xml .\minimalistArm64\ +If ErrorLevel 1 goto End +copy /Y ..\src\stylers.model.xml .\minimalistArm64\ +If ErrorLevel 1 goto End +copy /Y ..\src\contextMenu.xml .\minimalistArm64\ +If ErrorLevel 1 goto End +copy /Y ..\src\shortcuts.xml .\minimalistArm64\ +If ErrorLevel 1 goto End +copy /Y ..\bin\doLocalConf.xml .\minimalistArm64\ +If ErrorLevel 1 goto End +copy /Y ..\binarm64\"notepad++.exe" .\minimalistArm64\ +If ErrorLevel 1 goto End + + rem Remove old built Notepad++ 32-bit package rmdir /S /Q .\zipped.package.release @@ -129,6 +178,7 @@ mkdir .\zipped.package.release\plugins\NppConverter mkdir .\zipped.package.release\plugins\Config mkdir .\zipped.package.release\plugins\doc + rem Remove old built Notepad++ 64-bit package rmdir /S /Q .\zipped.package.release64 @@ -147,6 +197,26 @@ mkdir .\zipped.package.release64\plugins\NppConverter mkdir .\zipped.package.release64\plugins\Config mkdir .\zipped.package.release64\plugins\doc + +rem Remove old built Notepad++ ARM64-bit package +rmdir /S /Q .\zipped.package.releaseArm64 + +rem Re-build Notepad++ ARM64-bit package folders +mkdir .\zipped.package.releaseArm64 +mkdir .\zipped.package.releaseArm64\updater +mkdir .\zipped.package.releaseArm64\localization +mkdir .\zipped.package.releaseArm64\themes +mkdir .\zipped.package.releaseArm64\autoCompletion +mkdir .\zipped.package.releaseArm64\functionList +mkdir .\zipped.package.releaseArm64\userDefineLangs +mkdir .\zipped.package.releaseArm64\plugins +mkdir .\zipped.package.releaseArm64\plugins\NppExport +mkdir .\zipped.package.releaseArm64\plugins\mimeTools +mkdir .\zipped.package.releaseArm64\plugins\NppConverter +mkdir .\zipped.package.releaseArm64\plugins\Config +mkdir .\zipped.package.releaseArm64\plugins\doc + + rem Basic: Copy needed files into Notepad++ 32-bit package folders copy /Y ..\..\LICENSE .\zipped.package.release\license.txt If ErrorLevel 1 goto End @@ -189,6 +259,27 @@ copy /Y ..\bin64\"notepad++.exe" .\zipped.package.release64\ If ErrorLevel 1 goto End +rem Basic Copy needed files into Notepad++ ARM64 package folders +copy /Y ..\..\LICENSE .\zipped.package.releaseArm64\license.txt +If ErrorLevel 1 goto End +copy /Y ..\bin\readme.txt .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End +copy /Y ..\bin\change.log .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End +copy /Y ..\src\langs.model.xml .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End +copy /Y ..\src\stylers.model.xml .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End +copy /Y ..\src\contextMenu.xml .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End +copy /Y ..\src\shortcuts.xml .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End +copy /Y ..\bin\doLocalConf.xml .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End +copy /Y ..\binarm64\"notepad++.exe" .\zipped.package.releaseArm64\ +If ErrorLevel 1 goto End + + rem Plugins: Copy needed files into Notepad++ 32-bit package folders copy /Y "..\bin\plugins\NppExport\NppExport.dll" .\zipped.package.release\plugins\NppExport\ If ErrorLevel 1 goto End @@ -205,35 +296,54 @@ If ErrorLevel 1 goto End copy /Y "..\bin64\plugins\NppConverter\NppConverter.dll" .\zipped.package.release64\plugins\NppConverter\ If ErrorLevel 1 goto End +rem Plugins: Copy needed files into Notepad++ 64-bit package folders +copy /Y "..\binarm64\plugins\NppExport\NppExport.dll" .\zipped.package.releaseArm64\plugins\NppExport\ +If ErrorLevel 1 goto End +copy /Y "..\binarm64\plugins\mimeTools\mimeTools.dll" .\zipped.package.releaseArm64\plugins\mimeTools\ +If ErrorLevel 1 goto End +copy /Y "..\binarm64\plugins\NppConverter\NppConverter.dll" .\zipped.package.releaseArm64\plugins\NppConverter\ +If ErrorLevel 1 goto End + + rem localizations: Copy all files into Notepad++ 32-bit/64-bit package folders copy /Y ".\nativeLang\*.xml" .\zipped.package.release\localization\ If ErrorLevel 1 goto End copy /Y ".\nativeLang\*.xml" .\zipped.package.release64\localization\ If ErrorLevel 1 goto End +copy /Y ".\nativeLang\*.xml" .\zipped.package.releaseArm64\localization\ +If ErrorLevel 1 goto End rem files API: Copy all files into Notepad++ 32-bit/64-bit package folders copy /Y ".\APIs\*.xml" .\zipped.package.release\autoCompletion\ If ErrorLevel 1 goto End copy /Y ".\APIs\*.xml" .\zipped.package.release64\autoCompletion\ If ErrorLevel 1 goto End +copy /Y ".\APIs\*.xml" .\zipped.package.releaseArm64\autoCompletion\ +If ErrorLevel 1 goto End rem FunctionList files: Copy all files into Notepad++ 32-bit/64-bit package folders copy /Y ".\functionList\*.xml" .\zipped.package.release\functionList\ If ErrorLevel 1 goto End copy /Y ".\functionList\*.xml" .\zipped.package.release64\functionList\ If ErrorLevel 1 goto End +copy /Y ".\functionList\*.xml" .\zipped.package.releaseArm64\functionList\ +If ErrorLevel 1 goto End rem Markdown as UserDefineLanguge: Markdown syntax highlighter into Notepad++ 32-bit/64-bit package folders copy /Y "..\bin\userDefineLangs\markdown._preinstalled.udl.xml" .\zipped.package.release\userDefineLangs\ If ErrorLevel 1 goto End copy /Y "..\bin\userDefineLangs\markdown._preinstalled.udl.xml" .\zipped.package.release64\userDefineLangs\ If ErrorLevel 1 goto End +copy /Y "..\bin\userDefineLangs\markdown._preinstalled.udl.xml" .\zipped.package.releaseArm64\userDefineLangs\ +If ErrorLevel 1 goto End rem theme: Copy all files into Notepad++ 32-bit/64-bit package folders copy /Y ".\themes\*.xml" .\zipped.package.release\themes\ If ErrorLevel 1 goto End copy /Y ".\themes\*.xml" .\zipped.package.release64\themes\ If ErrorLevel 1 goto End +copy /Y ".\themes\*.xml" .\zipped.package.releaseArm64\themes\ +If ErrorLevel 1 goto End rem Plugins Admin rem for disabling auto-updater @@ -268,12 +378,30 @@ If ErrorLevel 1 goto End copy /Y ..\bin64\updater\README.md .\zipped.package.release64\updater\ If ErrorLevel 1 goto End +rem For disabling auto-updater +copy /Y ..\src\config.4zipPackage.xml .\zipped.package.releaseArm64\config.xml +If ErrorLevel 1 goto End +copy /Y ..\binarm64\plugins\Config\nppPluginList.dll .\zipped.package.releaseArm64\plugins\Config\ +If ErrorLevel 1 goto End +copy /Y ..\binarm64\updater\GUP.exe .\zipped.package.releaseArm64\updater\ +If ErrorLevel 1 goto End +copy /Y ..\binarm64\updater\libcurl.dll .\zipped.package.releaseArm64\updater\ +If ErrorLevel 1 goto End +copy /Y ..\binarm64\updater\gup.xml .\zipped.package.releaseArm64\updater\ +If ErrorLevel 1 goto End +copy /Y ..\binarm64\updater\LICENSE .\zipped.package.releaseArm64\updater\ +If ErrorLevel 1 goto End +copy /Y ..\binarm64\updater\README.md .\zipped.package.releaseArm64\updater\ +If ErrorLevel 1 goto End + "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.minimalist.7z .\minimalist\* If ErrorLevel 1 goto End "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.minimalist.x64.7z .\minimalist64\* If ErrorLevel 1 goto End +"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.minimalist.arm64.7z .\minimalistArm64\* +If ErrorLevel 1 goto End "C:\Program Files\7-Zip\7z.exe" a -tzip -r .\build\npp.portable.zip .\zipped.package.release\* @@ -283,6 +411,7 @@ If ErrorLevel 1 goto End rem IF EXIST "%PROGRAMFILES(X86)%" ("%PROGRAMFILES(x86)%\NSIS\Unicode\makensis.exe" nppSetup.nsi) ELSE ("%PROGRAMFILES%\NSIS\Unicode\makensis.exe" nppSetup.nsi) IF EXIST "%PROGRAMFILES(X86)%" ("%PROGRAMFILES(x86)%\NSIS\makensis.exe" nppSetup.nsi) ELSE ("%PROGRAMFILES%\NSIS\makensis.exe" nppSetup.nsi) IF EXIST "%PROGRAMFILES(X86)%" ("%PROGRAMFILES(x86)%\NSIS\makensis.exe" -DARCH64 nppSetup.nsi) ELSE ("%PROGRAMFILES%\NSIS\makensis.exe" -DARCH64 nppSetup.nsi) +IF EXIST "%PROGRAMFILES(X86)%" ("%PROGRAMFILES(x86)%\NSIS\makensis.exe" -DARCHARM64 nppSetup.nsi) ELSE ("%PROGRAMFILES%\NSIS\makensis.exe" -DARCHARM64 nppSetup.nsi) rem Remove old build rmdir /S /Q .\zipped.package.release @@ -294,6 +423,13 @@ If ErrorLevel 1 goto End "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.x64.7z .\zipped.package.release64\* If ErrorLevel 1 goto End +rem +"C:\Program Files\7-Zip\7z.exe" a -tzip -r .\build\npp.portable.arm64.zip .\zipped.package.releaseArm64\* +If ErrorLevel 1 goto End + +"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.arm64.7z .\zipped.package.releaseArm64\* +If ErrorLevel 1 goto End + rem set var locally in this batch file setlocal enableDelayedExpansion @@ -305,16 +441,20 @@ for %%a in (npp.*.Installer.exe) do ( rem echo a = %%a set nppInstallerVar=%%a set nppInstallerVar64=!nppInstallerVar:Installer.exe=Installer.x64.exe! + set nppInstallerVarArm64=!nppInstallerVar:Installer.exe=Installer.arm64.exe! rem nppInstallerVar should be the version for example: 6.9 rem we put npp.6.9. + (portable.zip instead of Installer.exe) into var zipvar set zipvar=!nppInstallerVar:Installer.exe=portable.zip! set zipvar64=!nppInstallerVar:Installer.exe=portable.x64.zip! + set zipvarArm64=!nppInstallerVar:Installer.exe=portable.arm64.zip! set 7zvar=!nppInstallerVar:Installer.exe=portable.7z! set 7zvar64=!nppInstallerVar:Installer.exe=portable.x64.7z! + set 7zvarArm64=!nppInstallerVar:Installer.exe=portable.arm64.7z! set 7zvarMin=!nppInstallerVar:Installer.exe=portable.minimalist.7z! set 7zvarMin64=!nppInstallerVar:Installer.exe=portable.minimalist.x64.7z! + set 7zvarMinArm64=!nppInstallerVar:Installer.exe=portable.minimalist.arm64.7z! ) rem echo zipvar=!zipvar! @@ -325,16 +465,21 @@ rem echo 7zvarMin=!7zvarMin! rem echo 7zvarMin64=!7zvarMin64! ren npp.portable.zip !zipvar! ren npp.portable.x64.zip !zipvar64! +ren npp.portable.arm64.zip !zipvarArm64! ren npp.portable.7z !7zvar! ren npp.portable.x64.7z !7zvar64! +ren npp.portable.arm64.7z !7zvarArm64! ren npp.portable.minimalist.7z !7zvarMin! ren npp.portable.minimalist.x64.7z !7zvarMin64! +ren npp.portable.minimalist.arm64.7z !7zvarMinArm64! if %SIGN% == 0 goto NoSignInstaller signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++ Installer" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ !nppInstallerVar! If ErrorLevel 1 goto End signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++ Installer" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ !nppInstallerVar64! If ErrorLevel 1 goto End +signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++ Installer" /du https://notepad-plus-plus.org/ /t http://timestamp.digicert.com/ !nppInstallerVarArm64! +If ErrorLevel 1 goto End :NoSignInstaller cd ..