Notepad plus plus

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search

Notepad++ is a great little source code editor and general plain text editor available from http://notepad-plus-plus.org/.

Plug-ins are available from SourceForge.

WPKG Package for Notepad++[edit]

This package supports Windows 32-bit and 64-bit.

<package 
	id="npp" 
	name="Notepad++" 
	revision="%version%" 
	reboot="false" 
	priority="20">
 
	<variable name="version" value="6.7.9.2" />
 
	<!-- check install file version -->
        <check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\notepad++.exe"     value="%version%" />
 
	<variable name="PKG_DESTINATION"      value="%PROGRAMFILES%\Notepad++" />
	<variable name="PKG_DESTINATION"      value="%PROGRAMFILES(x86)%\Notepad++" architecture="x64"/>
 
	<install cmd='%COMSPEC% /c if exist "%PKG_DESTINATION%\plugins" del /f /q "%PKG_DESTINATION%\plugins\*.dll"'>
		<exit code="1"/>
	</install>
	<install cmd="%SOFTWARE%\npp\npp.%version%.Installer.exe /S" />
	<!-- No more auto updates -->
	<install cmd='%COMSPEC% /c rmdir /S /Q "%PKG_DESTINATION%\updater"' /> 
 
	<upgrade include="install"  />
 
	<remove cmd='%COMSPEC% /c if exist "%PKG_DESTINATION%\plugins" del /f /q "%PKG_DESTINATION%\plugins\*.dll"' >
		<exit code="1"/>
	</remove>
	<remove cmd='%COMSPEC% /c if exist "%PKG_DESTINATION%\uninstall.exe" "%PKG_DESTINATION%\uninstall.exe" /S' />
	<remove cmd='%COMSPEC% /C rmdir /s /q "%PKG_DESTINATION%"' />
</package>

WPKG packages for some Notepad++ Plugins[edit]

    <package
        id="NotepadPlusPlusComparePlugin"
        name="Notepad++ Compare Plugin"
        revision="1.5.3.1"
        reboot="false"
        priority="10">
 
        <depends package-id="NotepadPlusPlus" />
 
        <check type='logical' condition='or'>
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles%\Notepad++\plugins\ComparePlugin.dll" value="1.5.3.1" />
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles(x86)%\Notepad++\plugins\ComparePlugin.dll" value="1.5.3.1" />
        </check>
 
        <install cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\Compare\ComparePlugin.dll" "%ProgramFiles%\Notepad++\plugins"' />
        <install cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\Compare\ComparePlugin.dll" "%ProgramFiles(x86)%\Notepad++\plugins"' />
 
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\Compare\ComparePlugin.dll" "%ProgramFiles%\Notepad++\plugins"' />
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\Compare\ComparePlugin.dll" "%ProgramFiles(x86)%\Notepad++\plugins"' />
 
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins\ComparePlugin.dll" del /f /q "%ProgramFiles%\Notepad++\plugins\ComparePlugin.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins\ComparePlugin.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\plugins\ComparePlugin.dll"' />
    </package>
 
    <package
        id="NotepadPlusPlusWinMgrPlugin"
        name="Notepad++ Window Manager Plugin"
        revision="1.2.2.0"
        reboot="false"
        priority="10">
 
        <depends package-id="NotepadPlusPlus" />
 
        <check type='logical' condition='or'>
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles%\Notepad++\plugins\WindowManager.dll" value="1.2.2.0" />
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles(x86)%\Notepad++\plugins\WindowManager.dll" value="1.2.2.0" />
        </check>
 
        <install cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\WindowManager\WindowManager.dll" "%ProgramFiles%\Notepad++\plugins"' />
        <install cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\WindowManager\WindowManager.dll" "%ProgramFiles(x86)%\Notepad++\plugins"' />
 
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\WindowManager\WindowManager.dll" "%ProgramFiles%\Notepad++\plugins"' />
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\WindowManager\WindowManager.dll" "%ProgramFiles(x86)%\Notepad++\plugins"' />
 
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins\WindowManager.dll" del /f /q "%ProgramFiles%\Notepad++\plugins\WindowManager.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins\WindowManager.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\plugins\WindowManager.dll"' />
    </package>
 
    <package
        id="NotepadPlusPlusXMLToolsExtLibs"
        name="Notepad++ XML Tools Plugin External Libraries"
        revision="1"
        reboot="false"
        priority="20">
 
        <depends package-id="NotepadPlusPlus" />
 
        <check type='logical' condition='or'>
            <check type="file" condition="sizeequals" path="%ProgramFiles%\Notepad++\libxml2.dll" value="975360" />
            <check type="file" condition="sizeequals" path="%ProgramFiles(x86)%\Notepad++\libxml2.dll" value="975360" />
        </check>
 
        <install cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\ext_libs\*.dll" "%ProgramFiles%\Notepad++"' />
        <install cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\ext_libs\*.dll" "%ProgramFiles(x86)%\Notepad++"' />
 
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\ext_libs\*.dll" "%ProgramFiles%\Notepad++"' />
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\ext_libs\*.dll" "%ProgramFiles(x86)%\Notepad++"' />
 
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\iconv.dll" del /f /q "%ProgramFiles%\Notepad++\iconv.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\libxml2.dll" del /f /q "%ProgramFiles%\Notepad++\libxml2.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\libxslt.dll" del /f /q "%ProgramFiles%\Notepad++\libxslt.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\zlib1.dll" del /f /q "%ProgramFiles%\Notepad++\zlib1.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\iconv.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\iconv.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\libxml2.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\libxml2.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\libxslt.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\libxslt.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\zlib1.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\zlib1.dll"' />
    </package>
 
    <package
        id="NotepadPlusPlusXMLToolsPlugin"
        name="Notepad++ XML Tools Plugin"
        revision="1.0.0.1"
        reboot="false"
        priority="10">
 
        <depends package-id="NotepadPlusPlusXMLToolsExtLibs" />
        <depends package-id="NotepadPlusPlus" />
 
        <check type='logical' condition='or'>
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles%\Notepad++\plugins\XMLTools.dll" value="1.0.0.1" />
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles(x86)%\Notepad++\plugins\XMLTools.dll" value="1.0.0.1" />
        </check>
 
        <install cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\XMLTools.dll" "%ProgramFiles%\Notepad++\plugins"' />
        <install cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\XMLTools.dll" "%ProgramFiles(x86)%\Notepad++\plugins"' />
 
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\XMLTools.dll" "%ProgramFiles%\Notepad++\plugins"' />
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\XMLTools\XMLTools.dll" "%ProgramFiles(x86)%\Notepad++\plugins"' />
 
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins\XMLTools.dll" del /f /q "%ProgramFiles%\Notepad++\plugins\XMLTools.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins\XMLTools.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\plugins\XMLTools.dll"' />
    </package>
 
    <package
        id="NotepadPlusPlusDocMonPlugin"
        name="Notepad++ Document Monitor Plugin"
        revision="2.2.0.0"
        reboot="false"
        priority="10">
 
        <depends package-id="NotepadPlusPlus" />
 
        <check type='logical' condition='or'>
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles%\Notepad++\plugins\docMonitor.dll" value="2.2.0.0" />
            <check type="file" condition="versiongreaterorequal" path="%ProgramFiles(x86)%\Notepad++\plugins\docMonitor.dll" value="2.2.0.0" />
        </check>
 
        <install cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\DocMonitor\docMonitor.unicode.dll" "%ProgramFiles%\Notepad++\plugins\docMonitor.dll"' />
        <install cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\DocMonitor\docMonitor.unicode.dll" "%ProgramFiles(x86)%\Notepad++\plugins\docMonitor.dll"' />
 
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\DocMonitor\docMonitor.unicode.dll" "%ProgramFiles%\Notepad++\plugins\docMonitor.dll"' />
        <upgrade cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins" copy /b /v "%SOFTWARE%\Notepad++\DocMonitor\docMonitor.unicode.dll" "%ProgramFiles(x86)%\Notepad++\plugins\docMonitor.dll"' />
 
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles%\Notepad++\plugins\docMonitor.dll" del /f /q "%ProgramFiles%\Notepad++\plugins\docMonitor.dll"' />
        <remove cmd='%ComSpec% /c if exist "%ProgramFiles(x86)%\Notepad++\plugins\docMonitor.dll" del /f /q "%ProgramFiles(x86)%\Notepad++\plugins\docMonitor.dll"' />
    </package>

Disable Auto Updater[edit]

"Thanks to GUP, (Generic Updater for win32) project (see http://sourceforge.net/projects/gup-w32/ and http://gup-w32.sourceforge.net/) Notepad++ v4.6 and later has the capacity to search and install the update package (if available) from Internet. Only Installer integrates the auto-updater module (optional). So if you use zipped version, you have to download GUP from its project page, create "update" directory in Notepad++ installed directory, unzip the package into it then edit gup.xml file."

Delete or rename the "updater" folder in the Notepad++ application folder to disable automatic updates:

<install cmd='%COMSPEC% /c rmdir /S /Q "%PROGRAMFILES%\Notepad++\updater"' />
<upgrade cmd='%COMSPEC% /c rmdir /S /Q "%PROGRAMFILES%\Notepad++\updater"' />

Note that this has the side effect of breaking the Plugin Manager, whose gpup.exe lives in this directory.