Add ARM64 packages for the official distribution

This commit is contained in:
Don HO 2021-04-21 20:42:01 +02:00
parent 4207e2516d
commit 266ca29861
8 changed files with 191 additions and 1 deletions

11
.gitignore vendored
View File

@ -51,6 +51,7 @@ UpgradeLog*.htm
*.log *.log
.builds .builds
*.pidb *.pidb
*.vcxproj.filters
PowerEditor/bin/notepad++.exe PowerEditor/bin/notepad++.exe
PowerEditor/bin/SciLexer.dll PowerEditor/bin/SciLexer.dll
@ -71,18 +72,25 @@ PowerEditor/bin/plugins/
PowerEditor/bin/updater/ PowerEditor/bin/updater/
PowerEditor/bin/functionList/ PowerEditor/bin/functionList/
PowerEditor/bin64/ PowerEditor/bin64/
PowerEditor/binarm64/
PowerEditor/bin/themes/ PowerEditor/bin/themes/
PowerEditor/installer/bin/wingup/ PowerEditor/installer/bin/wingup/
PowerEditor/installer/build/ PowerEditor/installer/build/
PowerEditor/installer/minimalist/ PowerEditor/installer/minimalist/
PowerEditor/installer/minimalist64/ PowerEditor/installer/minimalist64/
PowerEditor/installer/minimalistArm64/
PowerEditor/installer/zipped.package.release/ PowerEditor/installer/zipped.package.release/
PowerEditor/installer/zipped.package.release64/ PowerEditor/installer/zipped.package.release64/
PowerEditor/installer/zipped.package.releaseArm64/
PowerEditor/visual.net/Unicode Debug/ PowerEditor/visual.net/Unicode Debug/
PowerEditor/visual.net/Unicode Release/ PowerEditor/visual.net/Unicode Release/
PowerEditor/visual.net/notepadPlus.sln PowerEditor/visual.net/notepadPlus.sln
PowerEditor/visual.net/x64/Unicode Debug/ PowerEditor/visual.net/x64/Unicode Debug/
PowerEditor/visual.net/x64/Unicode Release/ 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 - generated files
scintilla/bin/SciLexer.* scintilla/bin/SciLexer.*
@ -92,6 +100,9 @@ scintilla/bin/libscintilla.lib
scintilla/win32/*.lib scintilla/win32/*.lib
scintilla/win32/Lexers.a scintilla/win32/Lexers.a
scintilla/win32/ScintRes.res scintilla/win32/ScintRes.res
scintilla/win32/ARM64
scintilla/win32/Unicode Release/
scintilla/win32/Unicode Debug/
scintilla/boostregex/bin scintilla/boostregex/bin
scintilla/boostregex/boostpath.mak scintilla/boostregex/boostpath.mak

View File

@ -37,6 +37,8 @@ ManifestDPIAware true
!ifdef ARCH64 !ifdef ARCH64
OutFile ".\build\npp.${APPVERSION}.Installer.x64.exe" OutFile ".\build\npp.${APPVERSION}.Installer.x64.exe"
!else ifdef ARCHARM64
OutFile ".\build\npp.${APPVERSION}.Installer.arm64.exe"
!else !else
OutFile ".\build\npp.${APPVERSION}.Installer.exe" OutFile ".\build\npp.${APPVERSION}.Installer.exe"
!endif !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." 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 Abort
${EndIf} ${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 !else ; 32-bit installer
${If} ${RunningX64} ${If} ${RunningX64}
; check if 64-bit version has been installed if yes, ask user to remove it ; 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 ; There is no need to keep x86 NppShell_06.dll in 64 bit installer
; But in 32bit installer both the Dlls are required ; 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 !ifdef ARCH64
File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll"
!else ifdef ARCHARM64
File /oname=$INSTDIR\NppShell_06.dll "..\binarm64\NppShell64.dll"
!else !else
${If} ${RunningX64} ${If} ${RunningX64}
File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll" File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll"

View File

@ -26,6 +26,8 @@ SectionGroup "Plugins" Plugins
SetOutPath "$PLUGIN_INST_PATH\NppExport" SetOutPath "$PLUGIN_INST_PATH\NppExport"
!ifdef ARCH64 !ifdef ARCH64
File "..\bin64\plugins\NppExport\NppExport.dll" File "..\bin64\plugins\NppExport\NppExport.dll"
!else ifdef ARCHARM64
File "..\binarm64\plugins\NppExport\NppExport.dll"
!else !else
File "..\bin\plugins\NppExport\NppExport.dll" File "..\bin\plugins\NppExport\NppExport.dll"
!endif !endif
@ -40,6 +42,8 @@ SectionGroup "Plugins" Plugins
SetOutPath "$PLUGIN_INST_PATH\mimeTools" SetOutPath "$PLUGIN_INST_PATH\mimeTools"
!ifdef ARCH64 !ifdef ARCH64
File "..\bin64\plugins\mimeTools\mimeTools.dll" File "..\bin64\plugins\mimeTools\mimeTools.dll"
!else ifdef ARCHARM64
File "..\binarm64\plugins\mimeTools\mimeTools.dll"
!else !else
File "..\bin\plugins\mimeTools\mimeTools.dll" File "..\bin\plugins\mimeTools\mimeTools.dll"
!endif !endif
@ -53,6 +57,8 @@ SectionGroup "Plugins" Plugins
SetOutPath "$PLUGIN_INST_PATH\NppConverter" SetOutPath "$PLUGIN_INST_PATH\NppConverter"
!ifdef ARCH64 !ifdef ARCH64
File "..\bin64\plugins\NppConverter\NppConverter.dll" File "..\bin64\plugins\NppConverter\NppConverter.dll"
!else ifdef ARCHARM64
File "..\binarm64\plugins\NppConverter\NppConverter.dll"
!else !else
File "..\bin\plugins\NppConverter\NppConverter.dll" File "..\bin\plugins\NppConverter\NppConverter.dll"
!endif !endif
@ -69,6 +75,12 @@ ${MementoSection} "Auto-Updater" AutoUpdater
File "..\bin64\updater\gup.xml" File "..\bin64\updater\gup.xml"
File "..\bin64\updater\LICENSE" File "..\bin64\updater\LICENSE"
File "..\bin64\updater\README.md" 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 !else
File "..\bin\updater\GUP.exe" File "..\bin\updater\GUP.exe"
File "..\bin\updater\libcurl.dll" File "..\bin\updater\libcurl.dll"
@ -85,6 +97,8 @@ ${MementoSection} "Plugins Admin" PluginsAdmin
SetOutPath $ALLUSERS_PLUGIN_CONF_PATH SetOutPath $ALLUSERS_PLUGIN_CONF_PATH
!ifdef ARCH64 !ifdef ARCH64
File "..\bin64\plugins\Config\nppPluginList.dll" File "..\bin64\plugins\Config\nppPluginList.dll"
!else ifdef ARCHARM64
File "..\binarm64\plugins\Config\nppPluginList.dll"
!else !else
File "..\bin\plugins\Config\nppPluginList.dll" File "..\bin\plugins\Config\nppPluginList.dll"
!endif !endif

View File

@ -23,6 +23,8 @@
!ifdef ARCH64 !ifdef ARCH64
!getdllversion "..\bin64\notepad++.exe" nppVer_ !getdllversion "..\bin64\notepad++.exe" nppVer_
!else ifdef ARCHARM64
!getdllversion "..\binarm64\notepad++.exe" nppVer_
!else !else
!getdllversion "..\bin\notepad++.exe" nppVer_ !getdllversion "..\bin\notepad++.exe" nppVer_
!endif !endif

View File

@ -94,6 +94,8 @@ Function copyCommonFiles
!ifdef ARCH64 !ifdef ARCH64
File "..\bin64\notepad++.exe" File "..\bin64\notepad++.exe"
!else ifdef ARCHARM64
File "..\binarm64\notepad++.exe"
!else !else
File "..\bin\notepad++.exe" File "..\bin\notepad++.exe"
!endif !endif

View File

@ -163,6 +163,8 @@ Function writeInstallInfoInRegistry
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR" WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
!ifdef ARCH64 !ifdef ARCH64
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (64-bit x64)" WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (64-bit x64)"
!else ifdef ARCHARM64
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (ARM 64-bit)"
!else !else
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (32-bit x86)" WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME} (32-bit x86)"
!endif !endif

View File

@ -139,6 +139,8 @@ FunctionEnd
;Remove from registry... ;Remove from registry...
!ifdef ARCH64 !ifdef ARCH64
SetRegView 32 SetRegView 32
!else ifdef ARCHARM64
SetRegView 32
!else !else
SetRegView 64 SetRegView 64
!endif !endif
@ -147,6 +149,8 @@ FunctionEnd
;DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" ;DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe"
!ifdef ARCH64 !ifdef ARCH64
SetRegView 64 SetRegView 64
!else ifdef ARCHARM64
SetRegView 64
!else !else
SetRegView 32 SetRegView 32
!endif !endif
@ -174,6 +178,8 @@ FunctionEnd
Section Uninstall Section Uninstall
!ifdef ARCH64 !ifdef ARCH64
SetRegView 64 SetRegView 64
!else ifdef ARCHARM64
SetRegView 64
!else !else
SetRegView 32 SetRegView 32
!endif !endif

View File

@ -23,36 +23,57 @@ signtool.exe sign /f %NPP_CERT% /p %NPP_CERT_PWD% /d "Notepad++" /du https://not
If ErrorLevel 1 goto End 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 :NoSign
@ -86,6 +107,7 @@ If ErrorLevel 1 goto End
copy /Y ..\bin\"notepad++.exe" .\minimalist\ copy /Y ..\bin\"notepad++.exe" .\minimalist\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
rmdir /S /Q .\minimalist64 rmdir /S /Q .\minimalist64
mkdir .\minimalist64 mkdir .\minimalist64
mkdir .\minimalist64\userDefineLangs mkdir .\minimalist64\userDefineLangs
@ -111,6 +133,33 @@ If ErrorLevel 1 goto End
copy /Y ..\bin64\"notepad++.exe" .\minimalist64\ copy /Y ..\bin64\"notepad++.exe" .\minimalist64\
If ErrorLevel 1 goto End 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 rem Remove old built Notepad++ 32-bit package
rmdir /S /Q .\zipped.package.release 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\Config
mkdir .\zipped.package.release\plugins\doc mkdir .\zipped.package.release\plugins\doc
rem Remove old built Notepad++ 64-bit package rem Remove old built Notepad++ 64-bit package
rmdir /S /Q .\zipped.package.release64 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\Config
mkdir .\zipped.package.release64\plugins\doc 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 rem Basic: Copy needed files into Notepad++ 32-bit package folders
copy /Y ..\..\LICENSE .\zipped.package.release\license.txt copy /Y ..\..\LICENSE .\zipped.package.release\license.txt
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
@ -189,6 +259,27 @@ copy /Y ..\bin64\"notepad++.exe" .\zipped.package.release64\
If ErrorLevel 1 goto End 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 rem Plugins: Copy needed files into Notepad++ 32-bit package folders
copy /Y "..\bin\plugins\NppExport\NppExport.dll" .\zipped.package.release\plugins\NppExport\ copy /Y "..\bin\plugins\NppExport\NppExport.dll" .\zipped.package.release\plugins\NppExport\
If ErrorLevel 1 goto End 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\ copy /Y "..\bin64\plugins\NppConverter\NppConverter.dll" .\zipped.package.release64\plugins\NppConverter\
If ErrorLevel 1 goto End 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 rem localizations: Copy all files into Notepad++ 32-bit/64-bit package folders
copy /Y ".\nativeLang\*.xml" .\zipped.package.release\localization\ copy /Y ".\nativeLang\*.xml" .\zipped.package.release\localization\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
copy /Y ".\nativeLang\*.xml" .\zipped.package.release64\localization\ copy /Y ".\nativeLang\*.xml" .\zipped.package.release64\localization\
If ErrorLevel 1 goto End 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 rem files API: Copy all files into Notepad++ 32-bit/64-bit package folders
copy /Y ".\APIs\*.xml" .\zipped.package.release\autoCompletion\ copy /Y ".\APIs\*.xml" .\zipped.package.release\autoCompletion\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
copy /Y ".\APIs\*.xml" .\zipped.package.release64\autoCompletion\ copy /Y ".\APIs\*.xml" .\zipped.package.release64\autoCompletion\
If ErrorLevel 1 goto End 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 rem FunctionList files: Copy all files into Notepad++ 32-bit/64-bit package folders
copy /Y ".\functionList\*.xml" .\zipped.package.release\functionList\ copy /Y ".\functionList\*.xml" .\zipped.package.release\functionList\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
copy /Y ".\functionList\*.xml" .\zipped.package.release64\functionList\ copy /Y ".\functionList\*.xml" .\zipped.package.release64\functionList\
If ErrorLevel 1 goto End 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 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\ copy /Y "..\bin\userDefineLangs\markdown._preinstalled.udl.xml" .\zipped.package.release\userDefineLangs\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
copy /Y "..\bin\userDefineLangs\markdown._preinstalled.udl.xml" .\zipped.package.release64\userDefineLangs\ copy /Y "..\bin\userDefineLangs\markdown._preinstalled.udl.xml" .\zipped.package.release64\userDefineLangs\
If ErrorLevel 1 goto End 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 rem theme: Copy all files into Notepad++ 32-bit/64-bit package folders
copy /Y ".\themes\*.xml" .\zipped.package.release\themes\ copy /Y ".\themes\*.xml" .\zipped.package.release\themes\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
copy /Y ".\themes\*.xml" .\zipped.package.release64\themes\ copy /Y ".\themes\*.xml" .\zipped.package.release64\themes\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
copy /Y ".\themes\*.xml" .\zipped.package.releaseArm64\themes\
If ErrorLevel 1 goto End
rem Plugins Admin rem Plugins Admin
rem for disabling auto-updater rem for disabling auto-updater
@ -268,12 +378,30 @@ If ErrorLevel 1 goto End
copy /Y ..\bin64\updater\README.md .\zipped.package.release64\updater\ copy /Y ..\bin64\updater\README.md .\zipped.package.release64\updater\
If ErrorLevel 1 goto End 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\* "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.minimalist.7z .\minimalist\*
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.minimalist.x64.7z .\minimalist64\* "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.minimalist.x64.7z .\minimalist64\*
If ErrorLevel 1 goto End 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\* "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) 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" 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" -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 rem Remove old build
rmdir /S /Q .\zipped.package.release 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\* "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.portable.x64.7z .\zipped.package.release64\*
If ErrorLevel 1 goto End 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 rem set var locally in this batch file
setlocal enableDelayedExpansion setlocal enableDelayedExpansion
@ -305,16 +441,20 @@ for %%a in (npp.*.Installer.exe) do (
rem echo a = %%a rem echo a = %%a
set nppInstallerVar=%%a set nppInstallerVar=%%a
set nppInstallerVar64=!nppInstallerVar:Installer.exe=Installer.x64.exe! 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 nppInstallerVar should be the version for example: 6.9
rem we put npp.6.9. + (portable.zip instead of Installer.exe) into var zipvar rem we put npp.6.9. + (portable.zip instead of Installer.exe) into var zipvar
set zipvar=!nppInstallerVar:Installer.exe=portable.zip! set zipvar=!nppInstallerVar:Installer.exe=portable.zip!
set zipvar64=!nppInstallerVar:Installer.exe=portable.x64.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 7zvar=!nppInstallerVar:Installer.exe=portable.7z!
set 7zvar64=!nppInstallerVar:Installer.exe=portable.x64.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 7zvarMin=!nppInstallerVar:Installer.exe=portable.minimalist.7z!
set 7zvarMin64=!nppInstallerVar:Installer.exe=portable.minimalist.x64.7z! set 7zvarMin64=!nppInstallerVar:Installer.exe=portable.minimalist.x64.7z!
set 7zvarMinArm64=!nppInstallerVar:Installer.exe=portable.minimalist.arm64.7z!
) )
rem echo zipvar=!zipvar! rem echo zipvar=!zipvar!
@ -325,16 +465,21 @@ rem echo 7zvarMin=!7zvarMin!
rem echo 7zvarMin64=!7zvarMin64! rem echo 7zvarMin64=!7zvarMin64!
ren npp.portable.zip !zipvar! ren npp.portable.zip !zipvar!
ren npp.portable.x64.zip !zipvar64! ren npp.portable.x64.zip !zipvar64!
ren npp.portable.arm64.zip !zipvarArm64!
ren npp.portable.7z !7zvar! ren npp.portable.7z !7zvar!
ren npp.portable.x64.7z !7zvar64! ren npp.portable.x64.7z !7zvar64!
ren npp.portable.arm64.7z !7zvarArm64!
ren npp.portable.minimalist.7z !7zvarMin! ren npp.portable.minimalist.7z !7zvarMin!
ren npp.portable.minimalist.x64.7z !7zvarMin64! ren npp.portable.minimalist.x64.7z !7zvarMin64!
ren npp.portable.minimalist.arm64.7z !7zvarMinArm64!
if %SIGN% == 0 goto NoSignInstaller 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! 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 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! 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 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 :NoSignInstaller
cd .. cd ..