Make x32 and x64 packages

Refactoring NSIS installer
This commit is contained in:
Don Ho 2016-09-09 23:26:15 +02:00
parent a136ec2381
commit fc014595a3
12 changed files with 1912 additions and 1937 deletions

1
.gitignore vendored
View File

@ -71,6 +71,7 @@ PowerEditor/bin/plugins/
PowerEditor/bin64/ PowerEditor/bin64/
PowerEditor/installer/build/ PowerEditor/installer/build/
PowerEditor/installer/minimalist/ PowerEditor/installer/minimalist/
PowerEditor/installer/minimalist64/
PowerEditor/installer/zipped.package.release/ PowerEditor/installer/zipped.package.release/
PowerEditor/installer/zipped.package.release64/ PowerEditor/installer/zipped.package.release64/
PowerEditor/visual.net/Unicode Debug/ PowerEditor/visual.net/Unicode Debug/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,191 @@
SectionGroup "Auto-completion Files" autoCompletionComponent
SetOverwrite off
${MementoSection} "C" C
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\c.xml"
${MementoSectionEnd}
${MementoSection} "C++" C++
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\cpp.xml"
${MementoSectionEnd}
${MementoSection} "Java" Java
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\java.xml"
${MementoSectionEnd}
${MementoSection} "C#" C#
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\cs.xml"
${MementoSectionEnd}
${MementoSection} "HTML" HTML
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\html.xml"
${MementoSectionEnd}
${MementoSection} "RC" RC
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\rc.xml"
${MementoSectionEnd}
${MementoSection} "SQL" SQL
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\sql.xml"
${MementoSectionEnd}
${MementoSection} "PHP" PHP
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\php.xml"
${MementoSectionEnd}
${MementoSection} "CSS" CSS
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\css.xml"
${MementoSectionEnd}
${MementoSection} "VB" VB
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\vb.xml"
${MementoSectionEnd}
${MementoSection} "Perl" Perl
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\perl.xml"
${MementoSectionEnd}
${MementoSection} "JavaScript" JavaScript
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\javascript.xml"
${MementoSectionEnd}
${MementoSection} "Python" Python
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\python.xml"
${MementoSectionEnd}
${MementoSection} "ActionScript" ActionScript
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\actionscript.xml"
${MementoSectionEnd}
${MementoSection} "LISP" LISP
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\lisp.xml"
${MementoSectionEnd}
${MementoSection} "VHDL" VHDL
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\vhdl.xml"
${MementoSectionEnd}
${MementoSection} "TeX" TeX
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\tex.xml"
${MementoSectionEnd}
${MementoSection} "DocBook" DocBook
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\xml.xml"
${MementoSectionEnd}
${MementoSection} "NSIS" NSIS
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\nsis.xml"
${MementoSectionEnd}
${MementoSection} "CMAKE" CMAKE
SetOutPath "$INSTDIR\plugins\APIs"
File ".\APIs\cmake.xml"
${MementoSectionEnd}
SectionGroupEnd
SectionGroup un.autoCompletionComponent
Section un.PHP
Delete "$INSTDIR\plugins\APIs\php.xml"
SectionEnd
Section un.CSS
Delete "$INSTDIR\plugins\APIs\css.xml"
SectionEnd
Section un.HTML
Delete "$INSTDIR\plugins\APIs\html.xml"
SectionEnd
Section un.SQL
Delete "$INSTDIR\plugins\APIs\sql.xml"
SectionEnd
Section un.RC
Delete "$INSTDIR\plugins\APIs\rc.xml"
SectionEnd
Section un.VB
Delete "$INSTDIR\plugins\APIs\vb.xml"
SectionEnd
Section un.Perl
Delete "$INSTDIR\plugins\APIs\perl.xml"
SectionEnd
Section un.C
Delete "$INSTDIR\plugins\APIs\c.xml"
SectionEnd
Section un.C++
Delete "$INSTDIR\plugins\APIs\cpp.xml"
SectionEnd
Section un.Java
Delete "$INSTDIR\plugins\APIs\java.xml"
SectionEnd
Section un.C#
Delete "$INSTDIR\plugins\APIs\cs.xml"
SectionEnd
Section un.JavaScript
Delete "$INSTDIR\plugins\APIs\javascript.xml"
SectionEnd
Section un.Python
Delete "$INSTDIR\plugins\APIs\python.xml"
SectionEnd
Section un.ActionScript
Delete "$INSTDIR\plugins\APIs\actionscript.xml"
SectionEnd
Section un.LISP
Delete "$INSTDIR\plugins\APIs\lisp.xml"
SectionEnd
Section un.VHDL
Delete "$INSTDIR\plugins\APIs\vhdl.xml"
SectionEnd
Section un.TeX
Delete "$INSTDIR\plugins\APIs\tex.xml"
SectionEnd
Section un.DocBook
Delete "$INSTDIR\plugins\APIs\xml.xml"
SectionEnd
Section un.NSIS
Delete "$INSTDIR\plugins\APIs\nsis.xml"
SectionEnd
Section un.AWK
Delete "$INSTDIR\plugins\APIs\awk.xml"
SectionEnd
Section un.CMAKE
Delete "$INSTDIR\plugins\APIs\cmake.xml"
SectionEnd
SectionGroupEnd

View File

@ -0,0 +1,106 @@
${MementoSection} "Context Menu Entry" explorerContextMenu
SetOverwrite try
SetOutPath "$INSTDIR\"
${If} ${RunningX64}
File /oname=$INSTDIR\NppShell_06.dll "..\bin\NppShell64_06.dll"
${Else}
File "..\bin\NppShell_06.dll"
${EndIf}
Exec 'regsvr32 /s "$INSTDIR\NppShell_06.dll"'
${MementoSectionEnd}
SectionGroup "Plugins" Plugins
SetOverwrite on
!ifndef ARCH64
${MementoSection} "NppExport" NppExport
Delete "$INSTDIR\plugins\NppExport.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\NppExport.dll"
${MementoSectionEnd}
${MementoSection} "Plugin Manager" PluginManager
Delete "$INSTDIR\plugins\PluginManager.dll"
SetOutPath "$INSTDIR\plugins"
File "..\bin\plugins\PluginManager.dll"
SetOutPath "$INSTDIR\updater"
File "..\bin\updater\gpup.exe"
${MementoSectionEnd}
!endif
${MementoSection} "Mime Tools" MimeTools
Delete "$INSTDIR\plugins\mimeTools.dll"
SetOutPath "$INSTDIR\plugins"
!ifdef ARCH64
File "..\bin64\plugins\mimeTools.dll"
!else
File "..\bin\plugins\mimeTools.dll"
!endif
${MementoSectionEnd}
${MementoSection} "Converter" Converter
Delete "$INSTDIR\plugins\NppConverter.dll"
SetOutPath "$INSTDIR\plugins"
!ifdef ARCH64
File "..\bin64\plugins\NppConverter.dll"
!else
File "..\bin\plugins\NppConverter.dll"
!endif
${MementoSectionEnd}
SectionGroupEnd
${MementoSection} "Auto-Updater" AutoUpdater
SetOverwrite on
SetOutPath "$INSTDIR\updater"
!ifdef ARCH64
File "..\bin64\updater\GUP.exe"
File "..\bin64\updater\libcurl.dll"
File "..\bin64\updater\gup.xml"
File "..\bin64\updater\LICENSE"
File "..\bin64\updater\gpl.txt"
File "..\bin64\updater\README.md"
!else
File "..\bin\updater\GUP.exe"
File "..\bin\updater\libcurl.dll"
File "..\bin\updater\gup.xml"
File "..\bin\updater\LICENSE"
File "..\bin\updater\gpl.txt"
File "..\bin\updater\README.md"
!endif
${MementoSectionEnd}
;Uninstall section
SectionGroup un.Plugins
Section un.NppExport
Delete "$INSTDIR\plugins\NppExport.dll"
SectionEnd
Section un.Converter
Delete "$INSTDIR\plugins\NppConverter.dll"
SectionEnd
Section un.MimeTools
Delete "$INSTDIR\plugins\mimeTools.dll"
SectionEnd
Section un.PluginManager
Delete "$INSTDIR\plugins\PluginManager.dll"
Delete "$INSTDIR\updater\gpup.exe"
RMDir "$INSTDIR\updater\"
SectionEnd
SectionGroupEnd
Section un.AutoUpdater
Delete "$INSTDIR\updater\GUP.exe"
Delete "$INSTDIR\updater\libcurl.dll"
Delete "$INSTDIR\updater\gup.xml"
Delete "$INSTDIR\updater\License.txt"
Delete "$INSTDIR\updater\LICENSE"
Delete "$INSTDIR\updater\gpl.txt"
Delete "$INSTDIR\updater\readme.txt"
Delete "$INSTDIR\updater\README.md"
Delete "$INSTDIR\updater\getDownLoadUrl.php"
RMDir "$INSTDIR\updater\"
SectionEnd

View File

@ -0,0 +1,19 @@
; Define the application name
!define APPNAME "Notepad++"
!define APPVERSION "7"
!define APPNAMEANDVERSION "${APPNAME} v${APPVERSION}"
!define VERSION_MAJOR 7
!define VERSION_MINOR 0
!define APPWEBSITE "http://notepad-plus-plus.org/"
!define UNINSTALL_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}"
!define MEMENTO_REGISTRY_ROOT HKLM
!define MEMENTO_REGISTRY_KEY ${UNINSTALL_REG_KEY}
; Main Install settings
Name "${APPNAMEANDVERSION}"
InstallDir "$PROGRAMFILES\${APPNAME}"
InstallDirRegKey HKLM "Software\${APPNAME}" ""

View File

@ -0,0 +1,627 @@
; Set languages (first is default language)
;!insertmacro MUI_LANGUAGE "English"
!define MUI_LANGDLL_ALLLANGUAGES
;Languages
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "TradChinese"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Hungarian"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "German"
!insertmacro MUI_LANGUAGE "Dutch"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_LANGUAGE "Italian"
!insertmacro MUI_LANGUAGE "Danish"
!insertmacro MUI_LANGUAGE "Polish"
!insertmacro MUI_LANGUAGE "Czech"
!insertmacro MUI_LANGUAGE "Slovenian"
!insertmacro MUI_LANGUAGE "Slovak"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Norwegian"
!insertmacro MUI_LANGUAGE "PortugueseBR"
!insertmacro MUI_LANGUAGE "Ukrainian"
!insertmacro MUI_LANGUAGE "Turkish"
!insertmacro MUI_LANGUAGE "Catalan"
!insertmacro MUI_LANGUAGE "Arabic"
!insertmacro MUI_LANGUAGE "Lithuanian"
!insertmacro MUI_LANGUAGE "Finnish"
!insertmacro MUI_LANGUAGE "Greek"
!insertmacro MUI_LANGUAGE "Romanian"
!insertmacro MUI_LANGUAGE "Korean"
!insertmacro MUI_LANGUAGE "Hebrew"
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "Farsi"
!insertmacro MUI_LANGUAGE "Bulgarian"
!insertmacro MUI_LANGUAGE "Indonesian"
!insertmacro MUI_LANGUAGE "Japanese"
!insertmacro MUI_LANGUAGE "Croatian"
!insertmacro MUI_LANGUAGE "Serbian"
!insertmacro MUI_LANGUAGE "Thai"
!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
!insertmacro MUI_LANGUAGE "Belarusian"
!insertmacro MUI_LANGUAGE "Albanian"
!insertmacro MUI_LANGUAGE "Malay"
!insertmacro MUI_LANGUAGE "Galician"
!insertmacro MUI_LANGUAGE "Basque"
!insertmacro MUI_LANGUAGE "Luxembourgish"
!insertmacro MUI_LANGUAGE "Afrikaans"
!insertmacro MUI_LANGUAGE "Uzbek"
!insertmacro MUI_LANGUAGE "Macedonian"
!insertmacro MUI_LANGUAGE "Latvian"
!insertmacro MUI_LANGUAGE "Bosnian"
!insertmacro MUI_LANGUAGE "Mongolian"
!insertmacro MUI_LANGUAGE "Estonian"
;!insertmacro MUI_LANGUAGE "Breton"
;!insertmacro MUI_LANGUAGE "Icelandic"
;!insertmacro MUI_LANGUAGE "Kurdish"
;!insertmacro MUI_LANGUAGE "Irish"
!insertmacro MUI_RESERVEFILE_LANGDLL
LangString langFileName ${LANG_ENGLISH} "english.xml"
LangString langFileName ${LANG_FRENCH} "french.xml"
LangString langFileName ${LANG_TRADCHINESE} "chinese.xml"
LangString langFileName ${LANG_SIMPCHINESE} "chineseSimplified.xml"
LangString langFileName ${LANG_KOREAN} "korean.xml"
LangString langFileName ${LANG_JAPANESE} "japanese.xml"
LangString langFileName ${LANG_GERMAN} "german.xml"
LangString langFileName ${LANG_SPANISH} "spanish.xml"
LangString langFileName ${LANG_ITALIAN} "italian.xml"
LangString langFileName ${LANG_PORTUGUESE} "portuguese.xml"
LangString langFileName ${LANG_PORTUGUESEBR} "brazilian_portuguese.xml"
LangString langFileName ${LANG_DUTCH} "dutch.xml"
LangString langFileName ${LANG_RUSSIAN} "russian.xml"
LangString langFileName ${LANG_POLISH} "polish.xml"
LangString langFileName ${LANG_CATALAN} "catalan.xml"
LangString langFileName ${LANG_CZECH} "czech.xml"
LangString langFileName ${LANG_HUNGARIAN} "hungarian.xml"
LangString langFileName ${LANG_ROMANIAN} "romanian.xml"
LangString langFileName ${LANG_TURKISH} "turkish.xml"
LangString langFileName ${LANG_FARSI} "farsi.xml"
LangString langFileName ${LANG_UKRAINIAN} "ukrainian.xml"
LangString langFileName ${LANG_HEBREW} "hebrew.xml"
LangString langFileName ${LANG_NORWEGIANNYNORSK} "nynorsk.xml"
LangString langFileName ${LANG_NORWEGIAN} "norwegian.xml"
LangString langFileName ${LANG_THAI} "thai.xml"
LangString langFileName ${LANG_ARABIC} "arabic.xml"
LangString langFileName ${LANG_FINNISH} "finnish.xml"
LangString langFileName ${LANG_LITHUANIAN} "lithuanian.xml"
LangString langFileName ${LANG_GREEK} "greek.xml"
LangString langFileName ${LANG_SWEDISH} "swedish.xml"
LangString langFileName ${LANG_GALICIAN} "galician.xml"
LangString langFileName ${LANG_SLOVENIAN} "slovenian.xml"
LangString langFileName ${LANG_SLOVAK} "slovak.xml"
LangString langFileName ${LANG_DANISH} "danish.xml"
LangString langFileName ${LANG_BULGARIAN} "bulgarian.xml"
LangString langFileName ${LANG_INDONESIAN} "indonesian.xml"
LangString langFileName ${LANG_ALBANIAN} "albanian.xml"
LangString langFileName ${LANG_CROATIAN} "croatian.xml"
LangString langFileName ${LANG_BASQUE} "basque.xml"
LangString langFileName ${LANG_BELARUSIAN} "belarusian.xml"
LangString langFileName ${LANG_SERBIAN} "serbian.xml"
LangString langFileName ${LANG_MALAY} "malay.xml"
LangString langFileName ${LANG_LUXEMBOURGISH} "luxembourgish.xml"
LangString langFileName ${LANG_AFRIKAANS} "afrikaans.xml"
LangString langFileName ${LANG_UZBEK} "uzbek.xml"
LangString langFileName ${LANG_MACEDONIAN} "macedonian.xml"
LangString langFileName ${LANG_LATVIAN} "Latvian.xml"
LangString langFileName ${LANG_BOSNIAN} "bosnian.xml"
LangString langFileName ${LANG_MONGOLIAN} "mongolian.xml"
LangString langFileName ${LANG_ESTONIAN} "estonian.xml"
SectionGroup "Localization" localization
SetOverwrite on
${MementoUnselectedSection} "Afrikaans" afrikaans
CopyFiles "$TEMP\nppLocalization\afrikaans.xml" "$INSTDIR\localization\afrikaans.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Albanian" albanian
CopyFiles "$TEMP\nppLocalization\albanian.xml" "$INSTDIR\localization\albanian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Arabic" arabic
CopyFiles "$TEMP\nppLocalization\arabic.xml" "$INSTDIR\localization\arabic.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Aragonese" aragonese
CopyFiles "$TEMP\nppLocalization\aragonese.xml" "$INSTDIR\localization\aragonese.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Aranese" aranese
CopyFiles "$TEMP\nppLocalization\aranese.xml" "$INSTDIR\localization\aranese.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Azerbaijani" azerbaijani
CopyFiles "$TEMP\nppLocalization\azerbaijani.xml" "$INSTDIR\localization\azerbaijani.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Basque" basque
CopyFiles "$TEMP\nppLocalization\basque.xml" "$INSTDIR\localization\basque.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Belarusian" belarusian
CopyFiles "$TEMP\nppLocalization\belarusian.xml" "$INSTDIR\localization\belarusian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Bengali" bengali
CopyFiles "$TEMP\nppLocalization\bengali.xml" "$INSTDIR\localization\bengali.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Bosnian" bosnian
CopyFiles "$TEMP\nppLocalization\bosnian.xml" "$INSTDIR\localization\bosnian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Brazilian Portuguese" brazilian_portuguese
CopyFiles "$TEMP\nppLocalization\brazilian_portuguese.xml" "$INSTDIR\localization\brazilian_portuguese.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Bulgarian" bulgarian
CopyFiles "$TEMP\nppLocalization\bulgarian.xml" "$INSTDIR\localization\bulgarian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Catalan" catalan
CopyFiles "$TEMP\nppLocalization\catalan.xml" "$INSTDIR\localization\catalan.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Chinese (Traditional)" chineseTraditional
CopyFiles "$TEMP\nppLocalization\chinese.xml" "$INSTDIR\localization\chinese.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Chinese (Simplified)" chineseSimplified
CopyFiles "$TEMP\nppLocalization\chineseSimplified.xml" "$INSTDIR\localization\chineseSimplified.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Croatian" croatian
CopyFiles "$TEMP\nppLocalization\croatian.xml" "$INSTDIR\localization\croatian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Czech" czech
CopyFiles "$TEMP\nppLocalization\czech.xml" "$INSTDIR\localization\czech.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Danish" danish
CopyFiles "$TEMP\nppLocalization\danish.xml" "$INSTDIR\localization\danish.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Dutch" dutch
CopyFiles "$TEMP\nppLocalization\dutch.xml" "$INSTDIR\localization\dutch.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "English (Customizable)" english_customizable
CopyFiles "$TEMP\nppLocalization\english_customizable.xml" "$INSTDIR\localization\english_customizable.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Esperanto" esperanto
CopyFiles "$TEMP\nppLocalization\esperanto.xml" "$INSTDIR\localization\esperanto.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Estonian" estonian
CopyFiles "$TEMP\nppLocalization\estonian.xml" "$INSTDIR\localization\estonian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Extremaduran" extremaduran
CopyFiles "$TEMP\nppLocalization\extremaduran.xml" "$INSTDIR\localization\extremaduran.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Farsi" farsi
CopyFiles "$TEMP\nppLocalization\farsi.xml" "$INSTDIR\localization\farsi.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Finnish" finnish
CopyFiles "$TEMP\nppLocalization\finnish.xml" "$INSTDIR\localization\finnish.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Friulian" friulian
CopyFiles "$TEMP\nppLocalization\friulian.xml" "$INSTDIR\localization\friulian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "French" french
CopyFiles "$TEMP\nppLocalization\french.xml" "$INSTDIR\localization\french.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Galician" galician
CopyFiles "$TEMP\nppLocalization\galician.xml" "$INSTDIR\localization\galician.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Georgian" georgian
CopyFiles "$TEMP\nppLocalization\georgian.xml" "$INSTDIR\localization\georgian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "German" german
CopyFiles "$TEMP\nppLocalization\german.xml" "$INSTDIR\localization\german.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Greek" greek
CopyFiles "$TEMP\nppLocalization\greek.xml" "$INSTDIR\localization\greek.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Gujarati" gujarati
CopyFiles "$TEMP\nppLocalization\gujarati.xml" "$INSTDIR\localization\gujarati.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Hebrew" hebrew
CopyFiles "$TEMP\nppLocalization\hebrew.xml" "$INSTDIR\localization\hebrew.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Hindi" hindi
CopyFiles "$TEMP\nppLocalization\hindi.xml" "$INSTDIR\localization\hindi.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Hungarian" hungarian
CopyFiles "$TEMP\nppLocalization\hungarian.xml" "$INSTDIR\localization\hungarian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Hungarian (ANSI)" hungarianA
CopyFiles "$TEMP\nppLocalization\hungarianA.xml" "$INSTDIR\localization\hungarianA.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Indonesian" indonesian
CopyFiles "$TEMP\nppLocalization\indonesian.xml" "$INSTDIR\localization\indonesian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Italian" italian
CopyFiles "$TEMP\nppLocalization\italian.xml" "$INSTDIR\localization\italian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Japanese" japanese
CopyFiles "$TEMP\nppLocalization\japanese.xml" "$INSTDIR\localization\japanese.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Kazakh" kazakh
CopyFiles "$TEMP\nppLocalization\kazakh.xml" "$INSTDIR\localization\kazakh.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Korean" korean
CopyFiles "$TEMP\nppLocalization\korean.xml" "$INSTDIR\localization\korean.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Kyrgyz" kyrgyz
CopyFiles "$TEMP\nppLocalization\kyrgyz.xml" "$INSTDIR\localization\kyrgyz.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Latvian" latvian
CopyFiles "$TEMP\nppLocalization\latvian.xml" "$INSTDIR\localization\latvian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Ligurian" ligurian
CopyFiles "$TEMP\nppLocalization\ligurian.xml" "$INSTDIR\localization\ligurian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Lithuanian" lithuanian
CopyFiles "$TEMP\nppLocalization\lithuanian.xml" "$INSTDIR\localization\lithuanian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Luxembourgish" luxembourgish
CopyFiles "$TEMP\nppLocalization\luxembourgish.xml" "$INSTDIR\localization\luxembourgish.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Macedonian" macedonian
CopyFiles "$TEMP\nppLocalization\macedonian.xml" "$INSTDIR\localization\macedonian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Malay" malay
CopyFiles "$TEMP\nppLocalization\malay.xml" "$INSTDIR\localization\malay.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Marathi" marathi
CopyFiles "$TEMP\nppLocalization\marathi.xml" "$INSTDIR\localization\marathi.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Mongolian" mongolian
CopyFiles "$TEMP\nppLocalization\mongolian.xml" "$INSTDIR\localization\mongolian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Norwegian" norwegian
CopyFiles "$TEMP\nppLocalization\norwegian.xml" "$INSTDIR\localization\norwegian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Nynorsk" nynorsk
CopyFiles "$TEMP\nppLocalization\nynorsk.xml" "$INSTDIR\localization\nynorsk.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Occitan" occitan
CopyFiles "$TEMP\nppLocalization\occitan.xml" "$INSTDIR\localization\occitan.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Polish" polish
CopyFiles "$TEMP\nppLocalization\polish.xml" "$INSTDIR\localization\polish.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Portuguese" portuguese
CopyFiles "$TEMP\nppLocalization\portuguese.xml" "$INSTDIR\localization\portuguese.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Punjabi" punjabi
CopyFiles "$TEMP\nppLocalization\punjabi.xml" "$INSTDIR\localization\punjabi.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Kannada" kannada
CopyFiles "$TEMP\nppLocalization\kannada.xml" "$INSTDIR\localization\kannada.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Romanian" romanian
CopyFiles "$TEMP\nppLocalization\romanian.xml" "$INSTDIR\localization\romanian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Russian" russian
CopyFiles "$TEMP\nppLocalization\russian.xml" "$INSTDIR\localization\russian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Samogitian" samogitian
CopyFiles "$TEMP\nppLocalization\samogitian.xml" "$INSTDIR\localization\samogitian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Sardinian" sardinian
CopyFiles "$TEMP\nppLocalization\sardinian.xml" "$INSTDIR\localization\sardinian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Serbian" serbian
CopyFiles "$TEMP\nppLocalization\serbian.xml" "$INSTDIR\localization\serbian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Serbian (Cyrillic)" serbianCyrillic
CopyFiles "$TEMP\nppLocalization\serbianCyrillic.xml" "$INSTDIR\localization\serbianCyrillic.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Sinhala" sinhala
CopyFiles "$TEMP\nppLocalization\sinhala.xml" "$INSTDIR\localization\sinhala.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Slovak" slovak
CopyFiles "$TEMP\nppLocalization\slovak.xml" "$INSTDIR\localization\slovak.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Slovak (ANSI)" slovakA
CopyFiles "$TEMP\nppLocalization\slovakA.xml" "$INSTDIR\localization\slovakA.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Slovenian" slovenian
CopyFiles "$TEMP\nppLocalization\slovenian.xml" "$INSTDIR\localization\slovenian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Spanish" spanish
CopyFiles "$TEMP\nppLocalization\spanish.xml" "$INSTDIR\localization\spanish.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Spanish_ar" spanish_ar
CopyFiles "$TEMP\nppLocalization\spanish_ar.xml" "$INSTDIR\localization\spanish_ar.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Swedish" swedish
CopyFiles "$TEMP\nppLocalization\swedish.xml" "$INSTDIR\localization\swedish.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Tagalog" tagalog
CopyFiles "$TEMP\nppLocalization\tagalog.xml" "$INSTDIR\localization\tagalog.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Tajik" tajik
CopyFiles "$TEMP\nppLocalization\tajikCyrillic.xml" "$INSTDIR\localization\tajikCyrillic.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Tamil" tamil
CopyFiles "$TEMP\nppLocalization\tamil.xml" "$INSTDIR\localization\tamil.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Tatar" tatar
CopyFiles "$TEMP\nppLocalization\tatar.xml" "$INSTDIR\localization\tatar.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Telugu" telugu
CopyFiles "$TEMP\nppLocalization\telugu.xml" "$INSTDIR\localization\telugu.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Thai" thai
CopyFiles "$TEMP\nppLocalization\thai.xml" "$INSTDIR\localization\thai.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Turkish" turkish
CopyFiles "$TEMP\nppLocalization\turkish.xml" "$INSTDIR\localization\turkish.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Ukrainian" ukrainian
CopyFiles "$TEMP\nppLocalization\ukrainian.xml" "$INSTDIR\localization\ukrainian.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Urdu" urdu
CopyFiles "$TEMP\nppLocalization\urdu.xml" "$INSTDIR\localization\urdu.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Uyghur" uyghur
CopyFiles "$TEMP\nppLocalization\uyghur.xml" "$INSTDIR\localization\uyghur.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Uzbek" uzbek
CopyFiles "$TEMP\nppLocalization\uzbek.xml" "$INSTDIR\localization\uzbek.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Uzbek (Cyrillic)" uzbekCyrillic
CopyFiles "$TEMP\nppLocalization\uzbekCyrillic.xml" "$INSTDIR\localization\uzbekCyrillic.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Vietnamese" vietnamese
CopyFiles "$TEMP\nppLocalization\vietnamese.xml" "$INSTDIR\localization\vietnamese.xml"
${MementoSectionEnd}
${MementoUnselectedSection} "Welsh" welsh
CopyFiles "$TEMP\nppLocalization\welsh.xml" "$INSTDIR\localization\welsh.xml"
${MementoSectionEnd}
SectionGroupEnd
SectionGroup un.localization
SetOverwrite on
Section un.afrikaans
Delete "$INSTDIR\localization\afrikaans.xml"
SectionEnd
Section un.albanian
Delete "$INSTDIR\localization\albanian.xml"
SectionEnd
Section un.arabic
Delete "$INSTDIR\localization\arabic.xml"
SectionEnd
Section un.aragonese
Delete "$INSTDIR\localization\aragonese.xml"
SectionEnd
Section un.aranese
Delete "$INSTDIR\localization\aranese.xml"
SectionEnd
Section un.azerbaijani
Delete "$INSTDIR\localization\azerbaijani.xml"
SectionEnd
Section un.basque
Delete "$INSTDIR\localization\basque.xml"
SectionEnd
Section un.belarusian
Delete "$INSTDIR\localization\belarusian.xml"
SectionEnd
Section un.bengali
Delete "$INSTDIR\localization\bengali.xml"
SectionEnd
Section un.bosnian
Delete "$INSTDIR\localization\bosnian.xml"
SectionEnd
Section un.brazilian_portuguese
Delete "$INSTDIR\localization\brazilian_portuguese.xml"
SectionEnd
Section un.bulgarian
Delete "$INSTDIR\localization\bulgarian.xml"
SectionEnd
Section un.catalan
Delete "$INSTDIR\localization\catalan.xml"
SectionEnd
Section un.chineseTraditional
Delete "$INSTDIR\localization\chinese.xml"
SectionEnd
Section un.chineseSimplified
Delete "$INSTDIR\localization\chineseSimplified.xml"
SectionEnd
Section un.croatian
Delete "$INSTDIR\localization\croatian.xml"
SectionEnd
Section un.czech
Delete "$INSTDIR\localization\czech.xml"
SectionEnd
Section un.danish
Delete "$INSTDIR\localization\danish.xml"
SectionEnd
Section un.dutch
Delete "$INSTDIR\localization\dutch.xml"
SectionEnd
Section un.english_customizable
Delete "$INSTDIR\localization\english_customizable.xml"
SectionEnd
Section un.esperanto
Delete "$INSTDIR\localization\esperanto.xml"
SectionEnd
Section un.estonian
Delete "$INSTDIR\localization\estonian.xml"
SectionEnd
Section un.extremaduran
Delete "$INSTDIR\localization\extremaduran.xml"
SectionEnd
Section un.farsi
Delete "$INSTDIR\localization\farsi.xml"
SectionEnd
Section un.finnish
Delete "$INSTDIR\localization\finnish.xml"
SectionEnd
Section un.friulian
Delete "$INSTDIR\localization\friulian.xml"
SectionEnd
Section un.french
Delete "$INSTDIR\localization\french.xml"
SectionEnd
Section un.galician
Delete "$INSTDIR\localization\galician.xml"
SectionEnd
Section un.georgian
Delete "$INSTDIR\localization\georgian.xml"
SectionEnd
Section un.german
Delete "$INSTDIR\localization\german.xml"
SectionEnd
Section un.greek
Delete "$INSTDIR\localization\greek.xml"
SectionEnd
Section un.gujarati
Delete "$INSTDIR\localization\gujarati.xml"
SectionEnd
Section un.hebrew
Delete "$INSTDIR\localization\hebrew.xml"
SectionEnd
Section un.hindi
Delete "$INSTDIR\localization\hindi.xml"
SectionEnd
Section un.hungarian
Delete "$INSTDIR\localization\hungarian.xml"
SectionEnd
Section un.hungarianA
Delete "$INSTDIR\localization\hungarianA.xml"
SectionEnd
Section un.indonesian
Delete "$INSTDIR\localization\indonesian.xml"
SectionEnd
Section un.italian
Delete "$INSTDIR\localization\italian.xml"
SectionEnd
Section un.japanese
Delete "$INSTDIR\localization\japanese.xml"
SectionEnd
Section un.kazakh
Delete "$INSTDIR\localization\kazakh.xml"
SectionEnd
Section un.korean
Delete "$INSTDIR\localization\korean.xml"
SectionEnd
Section un.kyrgyz
Delete "$INSTDIR\localization\kyrgyz.xml"
SectionEnd
Section un.latvian
Delete "$INSTDIR\localization\latvian.xml"
SectionEnd
Section un.ligurian
Delete "$INSTDIR\localization\ligurian.xml"
SectionEnd
Section un.lithuanian
Delete "$INSTDIR\localization\lithuanian.xml"
SectionEnd
Section un.luxembourgish
Delete "$INSTDIR\localization\luxembourgish.xml"
SectionEnd
Section un.macedonian
Delete "$INSTDIR\localization\macedonian.xml"
SectionEnd
Section un.malay
Delete "$INSTDIR\localization\malay.xml"
SectionEnd
Section un.marathi
Delete "$INSTDIR\localization\marathi.xml"
SectionEnd
Section un.mongolian
Delete "$INSTDIR\localization\mongolian.xml"
SectionEnd
Section un.norwegian
Delete "$INSTDIR\localization\norwegian.xml"
SectionEnd
Section un.nynorsk
Delete "$INSTDIR\localization\nynorsk.xml"
SectionEnd
Section un.occitan
Delete "$INSTDIR\localization\occitan.xml"
SectionEnd
Section un.polish
Delete "$INSTDIR\localization\polish.xml"
SectionEnd
Section un.kannada
Delete "$INSTDIR\localization\kannada.xml"
SectionEnd
Section un.portuguese
Delete "$INSTDIR\localization\portuguese.xml"
SectionEnd
Section un.punjabi
Delete "$INSTDIR\localization\punjabi.xml"
SectionEnd
Section un.romanian
Delete "$INSTDIR\localization\romanian.xml"
SectionEnd
Section un.russian
Delete "$INSTDIR\localization\russian.xml"
SectionEnd
Section un.samogitian
Delete "$INSTDIR\localization\samogitian.xml"
SectionEnd
Section un.sardinian
Delete "$INSTDIR\localization\sardinian.xml"
SectionEnd
Section un.serbian
Delete "$INSTDIR\localization\serbian.xml"
SectionEnd
Section un.serbianCyrillic
Delete "$INSTDIR\localization\serbianCyrillic.xml"
SectionEnd
Section un.sinhala
Delete "$INSTDIR\localization\sinhala.xml"
SectionEnd
Section un.slovak
Delete "$INSTDIR\localization\slovak.xml"
SectionEnd
Section un.slovakA
Delete "$INSTDIR\localization\slovakA.xml"
SectionEnd
Section un.slovenian
Delete "$INSTDIR\localization\slovenian.xml"
SectionEnd
Section un.spanish
Delete "$INSTDIR\localization\spanish.xml"
SectionEnd
Section un.spanish_ar
Delete "$INSTDIR\localization\spanish_ar.xml"
SectionEnd
Section un.swedish
Delete "$INSTDIR\localization\swedish.xml"
SectionEnd
Section un.tagalog
Delete "$INSTDIR\localization\tagalog.xml"
SectionEnd
Section un.tajik
Delete "$INSTDIR\localization\tajikCyrillic.xml"
SectionEnd
Section un.tamil
Delete "$INSTDIR\localization\tamil.xml"
SectionEnd
Section un.tatar
Delete "$INSTDIR\localization\tatar.xml"
SectionEnd
Section un.telugu
Delete "$INSTDIR\localization\telugu.xml"
SectionEnd
Section un.thai
Delete "$INSTDIR\localization\thai.xml"
SectionEnd
Section un.turkish
Delete "$INSTDIR\localization\turkish.xml"
SectionEnd
Section un.ukrainian
Delete "$INSTDIR\localization\ukrainian.xml"
SectionEnd
Section un.urdu
Delete "$INSTDIR\localization\urdu.xml"
SectionEnd
Section un.uyghur
Delete "$INSTDIR\localization\uyghur.xml"
SectionEnd
Section un.uzbek
Delete "$INSTDIR\localization\uzbek.xml"
SectionEnd
Section un.uzbekCyrillic
Delete "$INSTDIR\localization\uzbekCyrillic.xml"
SectionEnd
Section un.vietnamese
Delete "$INSTDIR\localization\vietnamese.xml"
SectionEnd
Section un.welsh
Delete "$INSTDIR\localization\welsh.xml"
SectionEnd
SectionGroupEnd

View File

@ -0,0 +1,270 @@
Function setPathAndOptions
; Set Section properties
SetOverwrite on
StrCpy $UPDATE_PATH $INSTDIR
SetOutPath "$INSTDIR\"
${If} $noUserDataChecked == ${BST_CHECKED}
File "..\bin\doLocalConf.xml"
${ELSE}
IfFileExists $INSTDIR\doLocalConf.xml 0 +2
Delete $INSTDIR\doLocalConf.xml
StrCpy $UPDATE_PATH "$APPDATA\Notepad++"
CreateDirectory $UPDATE_PATH\plugins\config
${EndIf}
${If} $allowPluginLoadFromUserDataChecked == ${BST_CHECKED}
File "..\bin\allowAppDataPlugins.xml"
${ELSE}
IfFileExists $INSTDIR\allowAppDataPlugins.xml 0 +2
Delete $INSTDIR\allowAppDataPlugins.xml
${EndIf}
FunctionEnd
Function copyCommonFiles
SetOverwrite on
SetOutPath "$TEMP\"
File "langsModel.xml"
File "configModel.xml"
File "stylesGlobalModel.xml"
File "stylesLexerModel.xml"
File "stylers_remove.xml"
File "..\bin\langs.model.xml"
File "..\bin\config.model.xml"
File "..\bin\stylers.model.xml"
SetOverwrite off
SetOutPath "$UPDATE_PATH\"
File "..\bin\contextMenu.xml"
File "..\bin\functionList.xml"
SetOverwrite on
SetOutPath "$INSTDIR\"
File "..\bin\langs.model.xml"
File "..\bin\config.model.xml"
File "..\bin\stylers.model.xml"
File "..\bin\contextMenu.xml"
File "..\bin\functionList.xml"
SetOverwrite off
File "..\bin\shortcuts.xml"
; Set Section Files and Shortcuts
SetOverwrite on
File "..\..\LICENSE"
File "..\bin\change.log"
File "..\bin\readme.txt"
!ifdef ARCH64
File "..\bin64\SciLexer.dll"
File "..\bin64\notepad++.exe"
!else
File "..\bin\SciLexer.dll"
File "..\bin\notepad++.exe"
!endif
; Localization
; Default language English
SetOutPath "$INSTDIR\localization\"
File ".\nativeLang\english.xml"
; Copy all the language files to the temp directory
; than make them installed via option
SetOutPath "$TEMP\nppLocalization\"
File ".\nativeLang\"
IfFileExists "$UPDATE_PATH\nativeLang.xml" 0 +2
Delete "$UPDATE_PATH\nativeLang.xml"
IfFileExists "$INSTDIR\nativeLang.xml" 0 +2
Delete "$INSTDIR\nativeLang.xml"
StrCmp $LANGUAGE ${LANG_ENGLISH} +3 0
CopyFiles "$TEMP\nppLocalization\$(langFileName)" "$UPDATE_PATH\nativeLang.xml"
CopyFiles "$TEMP\nppLocalization\$(langFileName)" "$INSTDIR\localization\$(langFileName)"
FunctionEnd
Function removeUnstablePlugins
; remove unstable plugins
CreateDirectory "$INSTDIR\plugins\disabled"
IfFileExists "$INSTDIR\plugins\HexEditorPlugin.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nHexEditorPlugin.dll is about to be deleted." /SD IDOK
Rename "$INSTDIR\plugins\HexEditorPlugin.dll" "$INSTDIR\plugins\disabled\HexEditorPlugin.dll"
Delete "$INSTDIR\plugins\HexEditorPlugin.dll"
IfFileExists "$INSTDIR\plugins\HexEditor.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nHexEditor.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\HexEditor.dll" "$INSTDIR\plugins\disabled\HexEditor.dll"
Delete "$INSTDIR\plugins\HexEditor.dll"
IfFileExists "$INSTDIR\plugins\MultiClipboard.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nMultiClipboard.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\MultiClipboard.dll" "$INSTDIR\plugins\disabled\MultiClipboard.dll"
Delete "$INSTDIR\plugins\MultiClipboard.dll"
Delete "$INSTDIR\plugins\NppDocShare.dll"
IfFileExists "$INSTDIR\plugins\FunctionList.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nFunctionList.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\FunctionList.dll" "$INSTDIR\plugins\disabled\FunctionList.dll"
Delete "$INSTDIR\plugins\FunctionList.dll"
IfFileExists "$INSTDIR\plugins\docMonitor.unicode.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\ndocMonitor.unicode.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\docMonitor.unicode.dll" "$INSTDIR\plugins\disabled\docMonitor.unicode.dll"
Delete "$INSTDIR\plugins\docMonitor.unicode.dll"
IfFileExists "$INSTDIR\plugins\NPPTextFX.ini" 0 +1
Delete "$INSTDIR\plugins\NPPTextFX.ini"
IfFileExists "$INSTDIR\plugins\NppAutoIndent.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nNppAutoIndent.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\NppAutoIndent.dll" "$INSTDIR\plugins\disabled\NppAutoIndent.dll"
Delete "$INSTDIR\plugins\NppAutoIndent.dll"
IfFileExists "$INSTDIR\plugins\FTP_synchronize.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nFTP_synchronize.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\FTP_synchronize.dll" "$INSTDIR\plugins\disabled\FTP_synchronize.dll"
Delete "$INSTDIR\plugins\FTP_synchronize.dll"
IfFileExists "$INSTDIR\plugins\NppPlugin_ChangeMarker.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nNppPlugin_ChangeMarker.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\NppPlugin_ChangeMarker.dll" "$INSTDIR\plugins\disabled\NppPlugin_ChangeMarker.dll"
Delete "$INSTDIR\plugins\NppPlugin_ChangeMarker.dll"
IfFileExists "$INSTDIR\plugins\QuickText.UNI.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nQuickText.UNI.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\QuickText.UNI.dll" "$INSTDIR\plugins\disabled\QuickText.UNI.dll"
Delete "$INSTDIR\plugins\QuickText.UNI.dll"
IfFileExists "$INSTDIR\plugins\AHKExternalLexer.dll" 0 +4
MessageBox MB_OK "Due to the compability issue,$\nAHKExternalLexer.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\AHKExternalLexer.dll" "$INSTDIR\plugins\disabled\AHKExternalLexer.dll"
Delete "$INSTDIR\plugins\AHKExternalLexer.dll"
IfFileExists "$INSTDIR\plugins\NppExternalLexers.dll" 0 +4
MessageBox MB_OK "Due to the compability issue,$\n\NppExternalLexers.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\NppExternalLexers.dll" "$INSTDIR\plugins\disabled\NppExternalLexers.dll"
Delete "$INSTDIR\plugins\NppExternalLexers.dll"
IfFileExists "$INSTDIR\plugins\ExternalLexerKVS.dll" 0 +4
MessageBox MB_OK "Due to the compability issue,$\n\ExternalLexerKVS.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\ExternalLexerKVS.dll" "$INSTDIR\plugins\disabled\ExternalLexerKVS.dll"
Delete "$INSTDIR\plugins\ExternalLexerKVS.dll"
IfFileExists "$INSTDIR\plugins\Oberon2LexerU.dll" 0 +4
MessageBox MB_OK "Due to the compability issue,$\n\Oberon2LexerU.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\Oberon2LexerU.dll" "$INSTDIR\plugins\disabled\Oberon2LexerU.dll"
Delete "$INSTDIR\plugins\Oberon2LexerU.dll"
IfFileExists "$INSTDIR\plugins\NotepadSharp.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\n\NotepadSharp.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\NotepadSharp.dll" "$INSTDIR\plugins\disabled\NotepadSharp.dll"
Delete "$INSTDIR\plugins\NotepadSharp.dll"
IfFileExists "$INSTDIR\plugins\PreviewHTML.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nPreviewHTML.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\PreviewHTML.dll" "$INSTDIR\plugins\disabled\PreviewHTML.dll"
Delete "$INSTDIR\plugins\PreviewHTML.dll"
IfFileExists "$INSTDIR\plugins\nppRegEx.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nnppRegEx.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\nppRegEx.dll" "$INSTDIR\plugins\disabled\nppRegEx.dll"
Delete "$INSTDIR\plugins\nppRegEx.dll"
IfFileExists "$INSTDIR\plugins\AutoSaveU.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nAutoSaveU.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\AutoSaveU.dll" "$INSTDIR\plugins\disabled\AutoSaveU.dll"
Delete "$INSTDIR\plugins\AutoSaveU.dll"
IfFileExists "$INSTDIR\plugins\NppQCP.dll" 0 +4
MessageBox MB_OK "Due to the stability issue,$\nNppQCP.dll will be moved to the directory $\"disabled$\"" /SD IDOK
Rename "$INSTDIR\plugins\NppQCP.dll" "$INSTDIR\plugins\disabled\NppQCP.dll"
Delete "$INSTDIR\plugins\NppQCP.dll"
IfFileExists "$INSTDIR\plugins\DSpellCheck.dll" 0 +11
MessageBox MB_YESNOCANCEL "Due to the stability issue, DSpellCheck.dll will be moved to the directory $\"disabled$\".$\nChoose Cancel to keep it this installation.$\nChoose No to keep it forever." /SD IDYES IDNO never IDCANCEL donothing ;IDYES remove
Rename "$INSTDIR\plugins\DSpellCheck.dll" "$INSTDIR\plugins\disabled\DSpellCheck.dll"
Delete "$INSTDIR\plugins\DSpellCheck.dll"
Goto donothing
never:
Rename "$INSTDIR\plugins\DSpellCheck.dll" "$INSTDIR\plugins\DSpellCheck2.dll"
Goto donothing
donothing:
FunctionEnd
Function removeOldContextMenu
; Context Menu Management : removing old version of Context Menu module
IfFileExists "$INSTDIR\nppcm.dll" 0 +3
Exec 'regsvr32 /u /s "$INSTDIR\nppcm.dll"'
Delete "$INSTDIR\nppcm.dll"
IfFileExists "$INSTDIR\NppShell.dll" 0 +3
Exec 'regsvr32 /u /s "$INSTDIR\NppShell.dll"'
Delete "$INSTDIR\NppShell.dll"
IfFileExists "$INSTDIR\NppShell_01.dll" 0 +3
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_01.dll"'
Delete "$INSTDIR\NppShell_01.dll"
IfFileExists "$INSTDIR\NppShell_02.dll" 0 +3
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_02.dll"'
Delete "$INSTDIR\NppShell_02.dll"
IfFileExists "$INSTDIR\NppShell_03.dll" 0 +3
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_03.dll"'
Delete "$INSTDIR\NppShell_03.dll"
IfFileExists "$INSTDIR\NppShell_04.dll" 0 +3
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_04.dll"'
Delete "$INSTDIR\NppShell_04.dll"
IfFileExists "$INSTDIR\NppShell_05.dll" 0 +3
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_05.dll"'
Delete "$INSTDIR\NppShell_05.dll"
FunctionEnd
Function shortcutLinkManagement
; remove all the npp shortcuts from current user
Delete "$DESKTOP\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\readme.lnk"
Delete "$SMPROGRAMS\Notepad++\Uninstall.lnk"
RMDir "$SMPROGRAMS\Notepad++"
; detect the right of
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +2
SetShellVarContext all
; set the shortcuts working directory
; http://nsis.sourceforge.net/Docs/Chapter4.html#createshortcut
SetOutPath "$INSTDIR\"
; add all the npp shortcuts for all user or current user
CreateDirectory "$SMPROGRAMS\Notepad++"
CreateShortCut "$SMPROGRAMS\Notepad++\Notepad++.lnk" "$INSTDIR\notepad++.exe"
${If} $createShortcutChecked == ${BST_CHECKED}
CreateShortCut "$DESKTOP\Notepad++.lnk" "$INSTDIR\notepad++.exe"
${EndIf}
SetShellVarContext current
FunctionEnd
Function changeIconOption
${If} $isOldIconChecked == ${BST_CHECKED}
SetOutPath "$TEMP\"
File "..\misc\vistaIconTool\changeIcon.exe"
File "..\src\icons\npp.ico"
nsExec::ExecToStack '"$TEMP\changeIcon.exe" "$TEMP\npp.ico" "$INSTDIR\notepad++.exe" 100 1033'
${EndIf}
FunctionEnd

View File

@ -0,0 +1,186 @@
SectionGroup "Themes" Themes
SetOverwrite off
${MementoSection} "Black Board" BlackBoard
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Black board.xml"
${MementoSectionEnd}
${MementoSection} "Choco" Choco
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Choco.xml"
${MementoSectionEnd}
${MementoSection} "Hello Kitty" HelloKitty
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Hello Kitty.xml"
${MementoSectionEnd}
${MementoSection} "Mono Industrial" MonoIndustrial
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Mono Industrial.xml"
${MementoSectionEnd}
${MementoSection} "Monokai" Monokai
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Monokai.xml"
${MementoSectionEnd}
${MementoSection} "Obsidian" Obsidian
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\obsidian.xml"
${MementoSectionEnd}
${MementoSection} "Plastic Code Wrap" PlasticCodeWrap
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Plastic Code Wrap.xml"
${MementoSectionEnd}
${MementoSection} "Ruby Blue" RubyBlue
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Ruby Blue.xml"
${MementoSectionEnd}
${MementoSection} "Twilight" Twilight
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Twilight.xml"
${MementoSectionEnd}
${MementoSection} "Vibrant Ink" VibrantInk
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Vibrant Ink.xml"
${MementoSectionEnd}
${MementoSection} "Deep Black" DeepBlack
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Deep Black.xml"
${MementoSectionEnd}
${MementoSection} "vim Dark Blue" vimDarkBlue
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\vim Dark Blue.xml"
${MementoSectionEnd}
${MementoSection} "Bespin" Bespin
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Bespin.xml"
${MementoSectionEnd}
${MementoSection} "Zenburn" Zenburn
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Zenburn.xml"
${MementoSectionEnd}
${MementoSection} "Solarized" Solarized
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Solarized.xml"
${MementoSectionEnd}
${MementoSection} "Solarized Light" Solarized-light
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Solarized-light.xml"
${MementoSectionEnd}
${MementoSection} "Hot Fudge Sundae" HotFudgeSundae
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\HotFudgeSundae.xml"
${MementoSectionEnd}
${MementoSection} "khaki" khaki
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\khaki.xml"
${MementoSectionEnd}
${MementoSection} "Mossy Lawn" MossyLawn
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\MossyLawn.xml"
${MementoSectionEnd}
${MementoSection} "Navajo" Navajo
SetOutPath "$UPDATE_PATH\themes"
File ".\themes\Navajo.xml"
${MementoSectionEnd}
SectionGroupEnd
SectionGroup un.Themes
Section un.BlackBoard
Delete "$UPDATE_PATH\themes\Black board.xml"
SectionEnd
Section un.Choco
Delete "$UPDATE_PATH\themes\Choco.xml"
SectionEnd
Section un.HelloKitty
Delete "$UPDATE_PATH\themes\Hello Kitty.xml"
SectionEnd
Section un.MonoIndustrial
Delete "$UPDATE_PATH\themes\Mono Industrial.xml"
SectionEnd
Section un.Monokai
Delete "$UPDATE_PATH\themes\Monokai.xml"
SectionEnd
Section un.Obsidian
Delete "$UPDATE_PATH\themes/obsidian.xml"
SectionEnd
Section un.PlasticCodeWrap
Delete "$UPDATE_PATH\themes\Plastic Code Wrap.xml"
SectionEnd
Section un.RubyBlue
Delete "$UPDATE_PATH\themes\Ruby Blue.xml"
SectionEnd
Section un.Twilight
Delete "$UPDATE_PATH\themes\Twilight.xml"
SectionEnd
Section un.VibrantInk
Delete "$UPDATE_PATH\themes\Vibrant Ink.xml"
SectionEnd
Section un.DeepBlack
Delete "$UPDATE_PATH\themes\Deep Black.xml"
SectionEnd
Section un.vimDarkBlue
Delete "$UPDATE_PATH\themes\vim Dark Blue.xml"
SectionEnd
Section un.Bespin
Delete "$UPDATE_PATH\themes\Bespin.xml"
SectionEnd
Section un.Zenburn
Delete "$UPDATE_PATH\themes\Zenburn.xml"
SectionEnd
Section un.Solarized
Delete "$UPDATE_PATH\themes\Solarized.xml"
SectionEnd
Section un.Solarized-light
Delete "$UPDATE_PATH\themes\Solarized-light.xml"
SectionEnd
Section un.HotFudgeSundae
Delete "$UPDATE_PATH\themes\HotFudgeSundae.xml"
SectionEnd
Section un.khaki
Delete "$UPDATE_PATH\themes\khaki.xml"
SectionEnd
Section un.MossyLawn
Delete "$UPDATE_PATH\themes\MossyLawn.xml"
SectionEnd
Section un.Navajo
Delete "$UPDATE_PATH\themes\Navajo.xml"
SectionEnd
SectionGroupEnd

View File

@ -0,0 +1,132 @@
Function LaunchNpp
Exec '"$INSTDIR\notepad++.exe" "$INSTDIR\change.log" '
FunctionEnd
; Check if Notepad++ is running
; Created by Motaz Alnuweiri
; URL: http://nsis.sourceforge.net/Check_whether_your_application_is_running
; http://nsis.sourceforge.net/Sharing_functions_between_Installer_and_Uninstaller
; Create CheckIfRunning shared function.
!macro CheckIfRunning un
Function ${un}CheckIfRunning
Check:
System::Call 'kernel32::OpenMutex(i 0x100000, b 0, t "nppInstance") i .R0'
IntCmp $R0 0 NotRunning
System::Call 'kernel32::CloseHandle(i $R0)'
MessageBox MB_RETRYCANCEL|MB_DEFBUTTON1|MB_ICONSTOP "Cannot continue the installation: Notepad++ is running.\
$\n$\n\
Please close Notepad++, then click ''Retry''." IDRETRY Retry IDCANCEL Cancel
Retry:
Goto Check
Cancel:
Quit
NotRunning:
FunctionEnd
!macroend
;Installer Functions
Var Dialog
Var NoUserDataCheckboxHandle
Var OldIconCheckboxHandle
Var ShortcutCheckboxHandle
Var PluginLoadFromUserDataCheckboxHandle
Var WinVer
Function ExtraOptions
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
${NSD_CreateCheckbox} 0 0 100% 30u "Don't use %APPDATA%$\nEnable this option to make Notepad++ load/write the configuration files from/to its install directory. Check it if you use Notepad++ in an USB device."
Pop $NoUserDataCheckboxHandle
${NSD_OnClick} $NoUserDataCheckboxHandle OnChange_NoUserDataCheckBox
${NSD_CreateCheckbox} 0 50 100% 30u "Allow plugins to be loaded from %APPDATA%\notepad++\plugins$\nIt could cause a security issue. Turn it on if you know what you are doing."
Pop $PluginLoadFromUserDataCheckboxHandle
${NSD_OnClick} $PluginLoadFromUserDataCheckboxHandle OnChange_PluginLoadFromUserDataCheckBox
${NSD_CreateCheckbox} 0 110 100% 30u "Create Shortcut on Desktop"
Pop $ShortcutCheckboxHandle
StrCmp $WinVer "8" 0 +2
${NSD_Check} $ShortcutCheckboxHandle
${NSD_OnClick} $ShortcutCheckboxHandle OnChange_ShortcutCheckBox
${NSD_CreateCheckbox} 0 170 100% 30u "Use the old, obsolete and monstrous icon$\nI won't blame you if you want to get the old icon back :)"
Pop $OldIconCheckboxHandle
${NSD_OnClick} $OldIconCheckboxHandle OnChange_OldIconCheckBox
nsDialogs::Show
FunctionEnd
Function preventInstallInWin9x
;Test if window9x
${GetWindowsVersion} $WinVer
StrCmp $WinVer "95" 0 +3
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttp://notepad-plus-plus.org/release/5.9"
Abort
StrCmp $WinVer "98" 0 +3
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttp://notepad-plus-plus.org/release/5.9"
Abort
StrCmp $WinVer "ME" 0 +3
MessageBox MB_OK "This version of Notepad++ does not support your OS.$\nPlease download zipped package of version 5.9 and use ANSI version. You can find v5.9 here:$\nhttp://notepad-plus-plus.org/release/5.9"
Abort
FunctionEnd
Var noUserDataChecked
Var allowPluginLoadFromUserDataChecked
Var createShortcutChecked
Var isOldIconChecked
; TODO for optional arg
;Var params
; The definition of "OnChange" event for checkbox
Function OnChange_NoUserDataCheckBox
${NSD_GetState} $NoUserDataCheckboxHandle $noUserDataChecked
FunctionEnd
Function OnChange_PluginLoadFromUserDataCheckBox
${NSD_GetState} $PluginLoadFromUserDataCheckboxHandle $allowPluginLoadFromUserDataChecked
FunctionEnd
Function OnChange_ShortcutCheckBox
${NSD_GetState} $ShortcutCheckboxHandle $createShortcutChecked
FunctionEnd
Function OnChange_OldIconCheckBox
${NSD_GetState} $OldIconCheckboxHandle $isOldIconChecked
FunctionEnd
Function writeInstallInfoInRegistry
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe" "" "$INSTDIR\notepad++.exe"
WriteRegStr HKLM "Software\${APPNAME}" "" "$INSTDIR"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayName" "${APPNAME}"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "Publisher" "Notepad++ Team"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "VersionMajor" "${VERSION_MAJOR}"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "VersionMinor" "${VERSION_MINOR}"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "MajorVersion" "${VERSION_MAJOR}"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "MinorVersion" "${VERSION_MINOR}"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayIcon" "$INSTDIR\notepad++.exe"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "DisplayVersion" "${APPVERSION}"
WriteRegStr HKLM "${UNINSTALL_REG_KEY}" "URLInfoAbout" "${APPWEBSITE}"
WriteUninstaller "$INSTDIR\uninstall.exe"
FunctionEnd

View File

@ -0,0 +1,159 @@
Section un.explorerContextMenu
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_01.dll"'
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_02.dll"'
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_03.dll"'
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_04.dll"'
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_05.dll"'
Exec 'regsvr32 /u /s "$INSTDIR\NppShell_06.dll"'
Delete "$INSTDIR\NppShell_01.dll"
Delete "$INSTDIR\NppShell_02.dll"
Delete "$INSTDIR\NppShell_03.dll"
Delete "$INSTDIR\NppShell_04.dll"
Delete "$INSTDIR\NppShell_05.dll"
Delete "$INSTDIR\NppShell_06.dll"
SectionEnd
Section un.UnregisterFileExt
; Remove references to "Notepad++_file"
IntOp $1 0 + 0 ; subkey index
StrCpy $2 "" ; subkey name
Enum_HKCR_Loop:
EnumRegKey $2 HKCR "" $1
StrCmp $2 "" Enum_HKCR_Done
ReadRegStr $0 HKCR $2 "" ; Read the default value
${If} $0 == "Notepad++_file"
ReadRegStr $3 HKCR $2 "Notepad++_backup"
; Recover (some of) the lost original file types
${If} $3 == "Notepad++_file"
${If} $2 == ".ini"
StrCpy $3 "inifile"
${ElseIf} $2 == ".inf"
StrCpy $3 "inffile"
${ElseIf} $2 == ".nfo"
StrCpy $3 "MSInfoFile"
${ElseIf} $2 == ".txt"
StrCpy $3 "txtfile"
${ElseIf} $2 == ".log"
StrCpy $3 "txtfile"
${ElseIf} $2 == ".xml"
StrCpy $3 "xmlfile"
${EndIf}
${EndIf}
${If} $3 == "Notepad++_file"
; File type recovering has failed. Just discard the current file extension
DeleteRegKey HKCR $2
${Else}
; Restore the original file type
WriteRegStr HKCR $2 "" $3
DeleteRegValue HKCR $2 "Notepad++_backup"
IntOp $1 $1 + 1
${EndIf}
${Else}
IntOp $1 $1 + 1
${EndIf}
Goto Enum_HKCR_Loop
Enum_HKCR_Done:
; Remove references to "Notepad++_file" from "Open with..."
IntOp $1 0 + 0 ; subkey index
StrCpy $2 "" ; subkey name
Enum_FileExts_Loop:
EnumRegKey $2 HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts" $1
StrCmp $2 "" Enum_FileExts_Done
DeleteRegValue HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\$2\OpenWithProgids" "Notepad++_file"
IntOp $1 $1 + 1
Goto Enum_FileExts_Loop
Enum_FileExts_Done:
; Remove "Notepad++_file" file type
DeleteRegKey HKCR "Notepad++_file"
SectionEnd
Section un.UserManual
RMDir /r "$INSTDIR\user.manual"
SectionEnd
Section Uninstall
;Remove from registry...
DeleteRegKey HKLM "${UNINSTALL_REG_KEY}"
DeleteRegKey HKLM "SOFTWARE\${APPNAME}"
DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad++.exe"
; Delete self
Delete "$INSTDIR\uninstall.exe"
; Delete Shortcuts
Delete "$SMPROGRAMS\Notepad++\Uninstall.lnk"
RMDir "$SMPROGRAMS\Notepad++"
UserInfo::GetAccountType
Pop $1
StrCmp $1 "Admin" 0 +2
SetShellVarContext all
Delete "$DESKTOP\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\Notepad++.lnk"
Delete "$SMPROGRAMS\Notepad++\readme.lnk"
; Clean up Notepad++
Delete "$INSTDIR\LINEDRAW.TTF"
Delete "$INSTDIR\SciLexer.dll"
Delete "$INSTDIR\change.log"
Delete "$INSTDIR\LICENSE"
Delete "$INSTDIR\notepad++.exe"
Delete "$INSTDIR\readme.txt"
Delete "$INSTDIR\config.xml"
Delete "$INSTDIR\config.model.xml"
Delete "$INSTDIR\langs.xml"
Delete "$INSTDIR\langs.model.xml"
Delete "$INSTDIR\stylers.xml"
Delete "$INSTDIR\stylers.model.xml"
Delete "$INSTDIR\stylers_remove.xml"
Delete "$INSTDIR\contextMenu.xml"
Delete "$INSTDIR\shortcuts.xml"
Delete "$INSTDIR\functionList.xml"
Delete "$INSTDIR\nativeLang.xml"
Delete "$INSTDIR\session.xml"
Delete "$INSTDIR\localization\english.xml"
Delete "$INSTDIR\SourceCodePro-Regular.ttf"
Delete "$INSTDIR\SourceCodePro-Bold.ttf"
Delete "$INSTDIR\SourceCodePro-It.ttf"
Delete "$INSTDIR\SourceCodePro-BoldIt.ttf"
SetShellVarContext current
Delete "$APPDATA\Notepad++\langs.xml"
Delete "$APPDATA\Notepad++\config.xml"
Delete "$APPDATA\Notepad++\stylers.xml"
Delete "$APPDATA\Notepad++\contextMenu.xml"
Delete "$APPDATA\Notepad++\shortcuts.xml"
Delete "$APPDATA\Notepad++\functionList.xml"
Delete "$APPDATA\Notepad++\nativeLang.xml"
Delete "$APPDATA\Notepad++\session.xml"
Delete "$APPDATA\Notepad++\insertExt.ini"
IfFileExists "$INSTDIR\NppHelp.chm" 0 +2
Delete "$INSTDIR\NppHelp.chm"
RMDir "$APPDATA\Notepad++"
StrCmp $1 "Admin" 0 +2
SetShellVarContext all
; Remove remaining directories
RMDir /r "$INSTDIR\plugins\disabled\"
RMDir "$INSTDIR\plugins\APIs\"
RMDir "$INSTDIR\plugins\"
RMDir "$INSTDIR\themes\"
RMDir "$INSTDIR\localization\"
RMDir "$INSTDIR\"
RMDir "$SMPROGRAMS\Notepad++"
RMDir "$APPDATA\Notepad++"
SectionEnd
Function un.onInit
;!insertmacro MUI_UNGETLANGUAGE
FunctionEnd

View File

@ -0,0 +1,133 @@
; http://nsis.sourceforge.net/Get_Windows_version
; GetWindowsVersion 4.1.1 (2015-06-22)
;
; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
; Update by Joost Verburg
; Update (Macro, Define, Windows 7 detection) - John T. Haller of PortableApps.com - 2008-01-07
; Update (Windows 8 detection) - Marek Mizanin (Zanir) - 2013-02-07
; Update (Windows 8.1 detection) - John T. Haller of PortableApps.com - 2014-04-04
; Update (Windows 10 TP detection) - John T. Haller of PortableApps.com - 2014-10-01
; Update (Windows 10 TP4 detection, and added include guards) - Kairu - 2015-06-22
;
; Usage: ${GetWindowsVersion} $R0
;
; $R0 contains: 95, 98, ME, NT x.x, 2000, XP, 2003, Vista, 7, 8, 8.1, 10.0 or '' (for unknown)
!ifndef __GET_WINDOWS_VERSION_NSH
!define __GET_WINDOWS_VERSION_NSH
Function GetWindowsVersion
Push $R0
Push $R1
ClearErrors
; check if Windows NT family
ReadRegStr $R0 HKLM \
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
IfErrors 0 lbl_winnt
; we are not NT
ReadRegStr $R0 HKLM \
"SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
StrCpy $R1 $R0 1
StrCmp $R1 '4' 0 lbl_error
StrCpy $R1 $R0 3
StrCmp $R1 '4.0' lbl_win32_95
StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
lbl_win32_95:
StrCpy $R0 '95'
Goto lbl_done
lbl_win32_98:
StrCpy $R0 '98'
Goto lbl_done
lbl_win32_ME:
StrCpy $R0 'ME'
Goto lbl_done
lbl_winnt:
StrCpy $R1 $R0 1
StrCmp $R1 '3' lbl_winnt_x
StrCmp $R1 '4' lbl_winnt_x
StrCpy $R1 $R0 3
StrCmp $R1 '5.0' lbl_winnt_2000
StrCmp $R1 '5.1' lbl_winnt_XP
StrCmp $R1 '5.2' lbl_winnt_2003
StrCmp $R1 '6.0' lbl_winnt_vista
StrCmp $R1 '6.1' lbl_winnt_7
StrCmp $R1 '6.2' lbl_winnt_8
StrCmp $R1 '6.3' lbl_winnt_81
StrCmp $R1 '6.4' lbl_winnt_10 ; the early Windows 10 tech previews used version 6.4
StrCpy $R1 $R0 4
StrCmp $R1 '10.0' lbl_winnt_10
Goto lbl_error
lbl_winnt_x:
StrCpy $R0 "NT $R0" 6
Goto lbl_done
lbl_winnt_2000:
Strcpy $R0 '2000'
Goto lbl_done
lbl_winnt_XP:
Strcpy $R0 'XP'
Goto lbl_done
lbl_winnt_2003:
Strcpy $R0 '2003'
Goto lbl_done
lbl_winnt_vista:
Strcpy $R0 'Vista'
Goto lbl_done
lbl_winnt_7:
Strcpy $R0 '7'
Goto lbl_done
lbl_winnt_8:
Strcpy $R0 '8'
Goto lbl_done
lbl_winnt_81:
Strcpy $R0 '8.1'
Goto lbl_done
lbl_winnt_10:
Strcpy $R0 '10.0'
Goto lbl_done
lbl_error:
Strcpy $R0 ''
lbl_done:
Pop $R1
Exch $R0
FunctionEnd
!macro GetWindowsVersion OUTPUT_VALUE
Call GetWindowsVersion
Pop `${OUTPUT_VALUE}`
!macroend
!define GetWindowsVersion '!insertmacro "GetWindowsVersion"'
!endif

View File

@ -84,6 +84,31 @@ If ErrorLevel 1 goto End
copy /Y ..\bin\SciLexer.dll .\minimalist\ copy /Y ..\bin\SciLexer.dll .\minimalist\
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
rmdir /S /Q .\minimalist64
mkdir .\minimalist64
copy /Y ..\bin\license.txt .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\bin\readme.txt .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\bin\change.log .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\src\config.model.xml .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\src\langs.model.xml .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\src\stylers.model.xml .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\src\contextMenu.xml .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\src\shortcuts.xml .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\bin\doLocalConf.xml .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\bin64\"notepad++.exe" .\minimalist64\
If ErrorLevel 1 goto End
copy /Y ..\bin64\SciLexer.dll .\minimalist64\
If ErrorLevel 1 goto End
rem Notepad++ Unicode package rem Notepad++ Unicode package
@ -179,12 +204,17 @@ If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin.minimalist.7z .\minimalist\* "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin.minimalist.7z .\minimalist\*
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin.minimalist64.7z .\minimalist64\*
If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -tzip -r .\build\npp.bin.zip .\zipped.package.release\* "C:\Program Files\7-Zip\7z.exe" a -tzip -r .\build\npp.bin.zip .\zipped.package.release\*
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin.7z .\zipped.package.release\* "C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin.7z .\zipped.package.release\*
If ErrorLevel 1 goto End 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)
rem Notepad++ Unicode package rem Notepad++ Unicode package
rmdir /S /Q .\zipped.package.release rmdir /S /Q .\zipped.package.release
@ -226,6 +256,9 @@ If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -tzip -r .\build\npp.bin64.zip .\zipped.package.release64\* "C:\Program Files\7-Zip\7z.exe" a -tzip -r .\build\npp.bin64.zip .\zipped.package.release64\*
If ErrorLevel 1 goto End If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin64.7z .\zipped.package.release64\*
If ErrorLevel 1 goto End
@echo off @echo off
@ -234,20 +267,27 @@ setlocal enableDelayedExpansion
cd .\build\ cd .\build\
for %%a in (npp.*.Installer.exe) do ( for %%a in (npp.*.Installer.x32.exe) do (
rem echo a = %%a rem echo a = %%a
set nppInstallerVar=%%a set nppInstallerVar=%%a
set zipvar=!nppInstallerVar:Installer.exe=bin.zip! set zipvar=!nppInstallerVar:Installer.x32.exe=bin.x32.zip!
set 64zipvar=!nppInstallerVar:Installer.exe=bin64.zip! set zipvar64=!nppInstallerVar:Installer.x32.exe=bin.x64.zip!
set 7zvar=!nppInstallerVar:Installer.exe=bin.7z! set 7zvar=!nppInstallerVar:Installer.x32.exe=bin.x32.7z!
set 7zvarMin=!nppInstallerVar:Installer.exe=bin.minimalist.7z! set 7zvar64=!nppInstallerVar:Installer.x32.exe=bin.x64.7z!
set 7zvarMin=!nppInstallerVar:Installer.x32.exe=bin.minimalist.x32.7z!
set 7zvarMin64=!nppInstallerVar:Installer.x32.exe=bin.minimalist.x64.7z!
) )
rem echo z=!zipvar! rem echo zipvar=!zipvar!
rem echo 64zipvar=!64zipvar!
rem echo 7zvar=!7zvar!
rem echo 7zvarMin=!7zvarMin!
ren npp.bin.zip !zipvar! ren npp.bin.zip !zipvar!
ren npp.bin64.zip !64zipvar! ren npp.bin64.zip !zipvar64!
ren npp.bin.7z !7zvar! ren npp.bin.7z !7zvar!
ren npp.bin64.7z !7zvar64!
ren npp.bin.minimalist.7z !7zvarMin! ren npp.bin.minimalist.7z !7zvarMin!
ren npp.bin.minimalist64.7z !7zvarMin64!
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!