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/installer/build/
PowerEditor/installer/minimalist/
PowerEditor/installer/minimalist64/
PowerEditor/installer/zipped.package.release/
PowerEditor/installer/zipped.package.release64/
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\
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
@ -179,12 +204,17 @@ If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin.minimalist.7z .\minimalist\*
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\*
If ErrorLevel 1 goto End
"C:\Program Files\7-Zip\7z.exe" a -r .\build\npp.bin.7z .\zipped.package.release\*
If ErrorLevel 1 goto End
rem IF EXIST "%PROGRAMFILES(X86)%" ("%PROGRAMFILES(x86)%\NSIS\Unicode\makensis.exe" nppSetup.nsi) ELSE ("%PROGRAMFILES%\NSIS\Unicode\makensis.exe" nppSetup.nsi)
IF EXIST "%PROGRAMFILES(X86)%" ("%PROGRAMFILES(x86)%\NSIS\makensis.exe" nppSetup.nsi) ELSE ("%PROGRAMFILES%\NSIS\makensis.exe" nppSetup.nsi)
IF EXIST "%PROGRAMFILES(X86)%" ("%PROGRAMFILES(x86)%\NSIS\makensis.exe" -DARCH64 nppSetup.nsi) ELSE ("%PROGRAMFILES%\NSIS\makensis.exe" -DARCH64 nppSetup.nsi)
rem Notepad++ Unicode package
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\*
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
@ -234,20 +267,27 @@ setlocal enableDelayedExpansion
cd .\build\
for %%a in (npp.*.Installer.exe) do (
for %%a in (npp.*.Installer.x32.exe) do (
rem echo a = %%a
set nppInstallerVar=%%a
set zipvar=!nppInstallerVar:Installer.exe=bin.zip!
set 64zipvar=!nppInstallerVar:Installer.exe=bin64.zip!
set 7zvar=!nppInstallerVar:Installer.exe=bin.7z!
set 7zvarMin=!nppInstallerVar:Installer.exe=bin.minimalist.7z!
set zipvar=!nppInstallerVar:Installer.x32.exe=bin.x32.zip!
set zipvar64=!nppInstallerVar:Installer.x32.exe=bin.x64.zip!
set 7zvar=!nppInstallerVar:Installer.x32.exe=bin.x32.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.bin64.zip !64zipvar!
ren npp.bin64.zip !zipvar64!
ren npp.bin.7z !7zvar!
ren npp.bin64.7z !7zvar64!
ren npp.bin.minimalist.7z !7zvarMin!
ren npp.bin.minimalist64.7z !7zvarMin64!
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!