[josm] 07/11: Imported Upstream version 0.0.svn7906+dfsg2

Bas Couwenberg sebastic at xs4all.nl
Mon Dec 29 23:09:09 UTC 2014


This is an automated email from the git hooks/post-receive script.

sebastic-guest pushed a commit to branch master
in repository josm.

commit 0000e0eff098872ab15b2e7c92823a4419bc9c47
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Mon Dec 29 22:44:47 2014 +0100

    Imported Upstream version 0.0.svn7906+dfsg2
---
 windows/README.txt                                 |  66 --
 windows/josm-nsis-brand.bmp                        | Bin 154542 -> 0 bytes
 windows/josm-setup-unix.sh                         | 151 ----
 windows/josm.nsi                                   | 471 -----------
 windows/langmacros.nsh                             |  84 --
 windows/launch4j.xml                               |  35 -
 windows/locale/english.nsh                         |  51 --
 windows/locale/french.nsh                          |  51 --
 windows/locale/german.nsh                          |  51 --
 windows/logo.ico                                   | Bin 370070 -> 0 bytes
 .../plugins/stdutils/Contrib/StdUtils/ComUtils.h   |  96 ---
 .../stdutils/Contrib/StdUtils/DetectOsVersion.cpp  | 294 -------
 .../stdutils/Contrib/StdUtils/DetectOsVersion.h    |  26 -
 .../stdutils/Contrib/StdUtils/InvokeShellVerb.cpp  | 258 ------
 .../stdutils/Contrib/StdUtils/InvokeShellVerb.h    |  26 -
 .../stdutils/Contrib/StdUtils/ParameterParser.cpp  | 152 ----
 .../stdutils/Contrib/StdUtils/ParameterParser.h    |  23 -
 .../plugins/stdutils/Contrib/StdUtils/RandUtils.h  | 101 ---
 .../stdutils/Contrib/StdUtils/ShellExecAsUser.cpp  | 189 -----
 .../stdutils/Contrib/StdUtils/ShellExecAsUser.h    |  26 -
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.aps | Bin 18740 -> 0 bytes
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.cpp | 921 ---------------------
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.h   |  43 -
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.rc  | Bin 4986 -> 0 bytes
 .../plugins/stdutils/Contrib/StdUtils/StdUtils.sln |  22 -
 .../stdutils/Contrib/StdUtils/StdUtils.vcxproj     | 205 -----
 .../Contrib/StdUtils/StdUtils.vcxproj.filters      |  63 --
 .../Contrib/StdUtils/StdUtils.vcxproj.user         |   7 -
 .../stdutils/Contrib/StdUtils/UnicodeSupport.cpp   |  96 ---
 .../stdutils/Contrib/StdUtils/UnicodeSupport.h     |  47 --
 .../Contrib/StdUtils/include/ansi/nsis/api.h       |  83 --
 .../Contrib/StdUtils/include/ansi/nsis/pluginapi.h |  77 --
 .../Contrib/StdUtils/include/common/msvc_utils.h   |  55 --
 .../Contrib/StdUtils/include/unicode/nsis/api.h    |  83 --
 .../StdUtils/include/unicode/nsis/nsis_tchar.h     | 214 -----
 .../StdUtils/include/unicode/nsis/pluginapi.h      | 101 ---
 .../stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib   | Bin 235942 -> 0 bytes
 .../Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib   | Bin 4668 -> 0 bytes
 .../StdUtils/lib/nsis_pluginapi_unicode.lib        | Bin 6902 -> 0 bytes
 .../plugins/stdutils/Contrib/StdUtils/resource.h   |  26 -
 .../stdutils/Contrib/StdUtils/utils/Date.exe       | Bin 39424 -> 0 bytes
 .../stdutils/Contrib/StdUtils/utils/Zip.exe        | Bin 68096 -> 0 bytes
 .../plugins/stdutils/Docs/StdUtils/StdUtils.html   | 752 -----------------
 .../plugins/stdutils/Examples/StdUtils/!_Make.bat  |  29 -
 .../stdutils/Examples/StdUtils/GetParameters.nsi   |  38 -
 .../stdutils/Examples/StdUtils/InvokeShellVerb.nsi |  53 --
 .../stdutils/Examples/StdUtils/ShellExecAsUser.nsi |  29 -
 .../stdutils/Examples/StdUtils/ShellExecWait.nsi   |  44 -
 .../stdutils/Examples/StdUtils/StdUtilsTest.nsi    | 399 ---------
 windows/plugins/stdutils/Include/StdUtils.nsh      | 301 -------
 windows/plugins/stdutils/LGPL.txt                  | 502 -----------
 windows/plugins/stdutils/LGPL_EXCEPTION.txt        |   4 -
 .../stdutils/Plugins/Release_ANSI/StdUtils.dll     | Bin 22016 -> 0 bytes
 .../stdutils/Plugins/Release_Unicode/StdUtils.dll  | Bin 23040 -> 0 bytes
 windows/plugins/stdutils/ReadMe.txt                |  30 -
 windows/plugins/stdutils/make_pack.bat             |  54 --
 windows/plugins/stdutils/make_pack.lst             |  13 -
 57 files changed, 6442 deletions(-)

diff --git a/windows/README.txt b/windows/README.txt
deleted file mode 100644
index cef0b2a..0000000
--- a/windows/README.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-This is the Win32 installer generator for JOSM, to create a Windows 
-like installer. This should ease installation and provides a reasonable set of 
-default preferences for Windows users.
-
-Currently only josm and a small assortment of josm plugins is included in the 
-installer.
-
-As other osm related applications like osmarender and mapnik have a lot more
-UNIX related dependencies that will make them complicated to install, only JOSM
-is currently installed "the easy way".
-
-
-install
--------
-simply execute josm-setup-latest.exe
-
-uninstall
----------
-use "control panel / software" to uninstall
-
-
-current state of the art
-------------------------
-The installer will currently add:
-- josm into "C:\Program Files\JOSM" (or the corresponding international dir)
-- josm icons to the desktop and quick launch bar
-- josm file associations to .osm and .gpx files
-- some assorted plugins (more to follow?)
-- default preferences to the current user profile (if not already existing)
-
-When the installed josm.exe is executed, it should ask the user to download 
-Java runtime if it's not already installed.
-
-build the installer
--------------------
-1.) You will need to download and install the following on your machine:
-- cygwin bash and wget
-- launch4j - http://launch4j.sourceforge.net/ (currently 3.5, older 2.x will NOT work!)
-- NSIS - http://nsis.sourceforge.net/ (any recent version should do)
-
-2.) Edit the two absolute paths in the file josm-setup-unix.sh (in the calls 
-to launch4jc and makensis)
-
-3.) Start a cygwin shell and call ./josm-setup-unix.sh
-
-how the installer is build
---------------------------
-First, wget will download the required files (e.g. the josm plugins) into the 
-downloads subdir. Then jaunch4j wraps the josm.jar into a josm.exe, which 
-makes registration of file extensions a lot easier. Then NSIS is called to 
-create the actual josm-setup-latest.exe.
-
-known issues
-------------
-- absolute paths in josm-setup-unix.sh
-- josm should support "global settings" instead of only the personal profile
-- install all josm plugins by default and only enable them according to user wishes?
-
-build the installer under Linux / Debian
-----------------------------------------
-It's possible to build the installer under Linux. Beside the things mentioned above, 
-the NSIS Debian package currently has an incomplete System.dll (in the plugins directory).
-This dll needs to be replaced by the System.dll included in the NSIS zip package, e.g. from
-http://nsis.sourceforge.net/Development_Files.
-More details can be found in the following NSIS forum thread:
-http://forums.winamp.com/showthread.php?s=bb7fa5bf8173e31c05e083340ca2c242&postid=2211132 
diff --git a/windows/josm-nsis-brand.bmp b/windows/josm-nsis-brand.bmp
deleted file mode 100644
index a6c71a2..0000000
Binary files a/windows/josm-nsis-brand.bmp and /dev/null differ
diff --git a/windows/josm-setup-unix.sh b/windows/josm-setup-unix.sh
deleted file mode 100755
index b396e2d..0000000
--- a/windows/josm-setup-unix.sh
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/bin/bash
-
-# Creates an josm-setup-xy.exe File
-#
-# for working on a debian-unix system install the nsis package with
-# apt-get install nsis
-# replace the  /usr/share/nsis/Plugins/System.dll with the Version from the nsis .zip File
-# The one coming with the debian package is missing the Call:: Function
-# See also /usr/share/doc/nsis/README.Debian 
-#
-# Then download launch4j from http://launch4j.sourceforge.net/ 
-# wget http://softlayer-ams.dl.sourceforge.net/project/launch4j/launch4j-3/3.5/launch4j-3.5-linux.tgz
-# and unpack it to /usr/share/launch4j
-#
-# On Debian/Ubuntu 64bits, follow then this procedure
-# http://sourceforge.net/p/launch4j/feature-requests/74/#2051
-# if you get this error: launch4j: net.sf.launch4j.ExecException: java.io.IOException: 
-#   Cannot run program "/usr/share/launch4j/bin/windres": error=2, No such file or directory
-
-## settings ##
-
-# trying to find launch4j
-if [ -s "/cygdrive/c/Program Files (x86)/Launch4j/launch4jc.exe" ]; then
-    # Windows under cygwin or MobaXterm
-    LAUNCH4J="/cygdrive/c/Program Files (x86)/Launch4j/launch4jc.exe"
-elif [ -s /usr/share/launch4j/launch4j.jar ]; then
-    # as described above
-    LAUNCH4J="java -jar /usr/share/launch4j/launch4j.jar"
-elif [ -s ../launch4j/launch4j.jar ]; then
-    LAUNCH4J="java -jar ../launch4j/launch4j.jar"
-elif [ -s $HOME/launch4j/launch4j.jar ]; then
-    LAUNCH4J="java -jar $HOME/launch4j/launch4j.jar"
-else
-    # launch4j installed locally under this nsis folder
-    LAUNCH4J="java -jar ./launch4j/launch4j.jar"
-fi
-echo Using launch4j: $LAUNCH4J
-
-# trying to find makensis
-if [ -s "/cygdrive/c/Program Files (x86)/NSIS/makensis.exe" ]; then
-    # Windows under cygwin or MobaXterm
-    MAKENSIS="/cygdrive/c/Program Files (x86)/NSIS/makensis.exe"
-else
-    # UNIX like
-    MAKENSIS=/usr/bin/makensis
-fi
-echo Using NSIS: $MAKENSIS
-
-if [ -n "$2" ]; then
-  # 2 arguments: for Ant build.xml and Jenkins CI
-  export VERSION=$1
-  export JOSM_BUILD="no"
-  export WEBKIT_DOWNLOAD="yes"
-  export JOSM_FILE=$2
-elif [ -n "$1" ]; then
-  # 1 argument: for official JOSM server
-  export VERSION=$1
-  export JOSM_BUILD="no"
-  export WEBKIT_DOWNLOAD="no"
-  export JOSM_FILE="/home/josm/www/download/josm-tested.jar"
-else
-  # no argument: for everyone else
-  svncorerevision=`svnversion -n ..`
-  #svnpluginsrevision=`svnversion -n ../../plugins`
-  #svnrevision="$svncorerevision-$svnpluginsrevision"
-
-  #export VERSION=custom-${svnrevision}
-  export VERSION=`echo ${svncorerevision} | sed -e 's/M//g' -e 's/S//g' -e 's/P//g'`
-  export JOSM_BUILD="yes"
-  export WEBKIT_DOWNLOAD="yes"
-  export JOSM_FILE="..\dist\josm-custom.jar"
-fi
-
-echo "Creating Windows Installer for josm-$VERSION"
-
-echo 
-echo "##################################################################"
-echo "### Download and unzip the webkit stuff"
-if [ "x$WEBKIT_DOWNLOAD" == "xyes" ]; then
-    wget --continue --timestamping http://josm.openstreetmap.de/download/windows/webkit-image.zip
-else
-    if ! [ -f webkit-image.zip ]; then
-      ln -s /home/josm/www/download/windows/webkit-image.zip .
-    fi
-fi
-unzip -o webkit-image.zip
-
-echo 
-echo "##################################################################"
-echo "### Build the Complete josm + Plugin Stuff"
-if [ "x$JOSM_BUILD" == "xyes" ]; then
-    (
-	echo "Build the Complete josm Stuff"
-	
-	echo "Compile Josm"
-	cd ../core
-	ant -q clean
-	ant -q compile || exit -1
-	cd ..
-	
-	echo "Compile Josm Plugins"
-	cd plugins
-	ant -q clean
-	ant -q dist || exit -1
-	) || exit -1
-fi
-
-/bin/cp $JOSM_FILE josm-tested.jar
-
-function build_exe {
-
-	export TARGET=$1	# josm / josm64. Used in file name of launcher and installer
-	
-	/bin/rm -f "launch4j_${TARGET}.xml"
-	/bin/sed -e "s/%TARGET%/$1/" -e "s/%RTBITS%/$2/" -e "s/%INIHEAP%/$3/" -e "s/%MAXHEAP%/$4/" -e "s/%VERSION%/$VERSION/" "launch4j.xml" > "launch4j_${TARGET}.xml"
-	
-	echo 
-	echo "##################################################################"
-	echo "### convert jar to ${TARGET}.exe with launch4j"
-	# (an exe file makes attaching to file extensions a lot easier)
-	# launch4j - http://launch4j.sourceforge.net/
-	# delete old exe file first
-	/bin/rm -f ${TARGET}*.exe
-	$LAUNCH4J "launch4j_${TARGET}.xml"
-	# comment previous line and uncomment next one on Windows
-	#"$LAUNCH4J" "launch4j_${TARGET}.xml"
-
-	if ! [ -s ${TARGET}.exe ]; then
-		echo "NO ${TARGET}.exe File Created"
-		exit -1
-	fi
-
-	/bin/rm -f "launch4j_${TARGET}.xml"
-
-	echo 
-	echo "##################################################################"
-	echo "### create the ${TARGET}-installer-${VERSION}.exe with makensis"
-	# NSIS - http://nsis.sourceforge.net/Main_Page
-	# apt-get install nsis
-	"$MAKENSIS" -V2 -DVERSION=$VERSION -DDEST=$TARGET josm.nsi
-
-	# keep the intermediate file, for debugging
-	/bin/rm -f ${TARGET}-intermediate.exe 2>/dev/null >/dev/null
-	/bin/mv ${TARGET}.exe ${TARGET}-intermediate.exe 2>/dev/null >/dev/null
-}
-
-build_exe "josm" "64\/32" 128 1024
-# 64-bit binary generation commented until possible with launch4j / nsis
-# build_exe "josm64"  "64" 256 2048
-
-/bin/rm -f josm-tested.jar 2>/dev/null >/dev/null
diff --git a/windows/josm.nsi b/windows/josm.nsi
deleted file mode 100644
index 96bdc88..0000000
--- a/windows/josm.nsi
+++ /dev/null
@@ -1,471 +0,0 @@
-;
-; josm.nsi
-;
-
-; Set the compression mechanism first.
-SetCompressor /SOLID lzma
-
-; Load StdUtils plugin (ANSI until we switch to Unicode installer with NSIS 3)
-!addplugindir plugins/stdutils/Plugins/Release_ANSI
-!addincludedir plugins/stdutils/Include
-
-!include "StdUtils.nsh"
-
-; make sure the installer will get elevated rights on UAC-enabled system (Vista+)
-RequestExecutionLevel admin
-
-; Used to refresh the display of file association
-!define SHCNE_ASSOCCHANGED 0x08000000
-!define SHCNF_IDLIST 0
-
-; Used to add associations between file extensions and JOSM
-!define OSM_ASSOC "josm-file"
-
-; ============================================================================
-; Header configuration
-; ============================================================================
-; The name of the installer
-Name "JOSM ${VERSION}"
-
-; The file to write
-OutFile "${DEST}-setup-${VERSION}.exe"
-
-XPStyle on
-
-Var /GLOBAL plugins
-
-; ============================================================================
-; Modern UI
-; ============================================================================
-
-!include "MUI2.nsh"
-
-; Icon of installer and uninstaller
-!define MUI_ICON "logo.ico"
-!define MUI_UNICON "logo.ico"
-
-!define MUI_COMPONENTSPAGE_SMALLDESC
-!define MUI_FINISHPAGE_NOAUTOCLOSE
-!define MUI_UNFINISHPAGE_NOAUTOCLOSE
-!define MUI_WELCOMEFINISHPAGE_BITMAP "josm-nsis-brand.bmp"
-!define MUI_WELCOMEPAGE_TEXT $(JOSM_WELCOME_TEXT) 
-
-!define MUI_FINISHPAGE_RUN
-!define MUI_FINISHPAGE_RUN_FUNCTION LaunchJOSM
-
-; Function used to Launch JOSM in user (non-elevated) mode
-Function LaunchJOSM
-  ${StdUtils.ExecShellAsUser} $0 "$INSTDIR\${DEST}.exe" "open" ""
-FunctionEnd
-
-; ============================================================================
-; MUI Pages
-; ============================================================================
-
-!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "..\LICENSE"
-!insertmacro MUI_PAGE_COMPONENTS
-!insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
-!insertmacro MUI_PAGE_FINISH
-
-!insertmacro MUI_UNPAGE_WELCOME
-!insertmacro MUI_UNPAGE_CONFIRM
-!insertmacro MUI_UNPAGE_COMPONENTS
-!insertmacro MUI_UNPAGE_INSTFILES
-!insertmacro MUI_UNPAGE_FINISH
-
-; ============================================================================
-; MUI Languages
-; ============================================================================
-
-  ;Remember the installer language
-  !define MUI_LANGDLL_REGISTRY_ROOT "HKLM" 
-  !define MUI_LANGDLL_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" 
-  !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
-  
-  ;; English goes first because its the default. The rest are
-  ;; in alphabetical order (at least the strings actually displayed
-  ;; will be).
-
-  !insertmacro MUI_LANGUAGE "English"
-  !insertmacro MUI_LANGUAGE "French"
-  !insertmacro MUI_LANGUAGE "German"
-
-;--------------------------------
-;Translations
-
-  !define JOSM_DEFAULT_LANGFILE "locale\english.nsh"
-
-  !include "langmacros.nsh"
-  
-  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "ENGLISH" "locale\english.nsh"
-  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "FRENCH" "locale\french.nsh"
-  !insertmacro JOSM_MACRO_INCLUDE_LANGFILE "GERMAN" "locale\german.nsh"
-
-; Uninstall stuff
-!define MUI_UNCONFIRMPAGE_TEXT_TOP ${un.JOSM_UNCONFIRMPAGE_TEXT_TOP}
-
-; ============================================================================
-; Installation types
-; ============================================================================
-
-InstType "$(JOSM_FULL_INSTALL)"
-
-InstType "un.$(un.JOSM_DEFAULT_UNINSTALL)"
-InstType "un.$(un.JOSM_FULL_UNINSTALL)"
-
-; ============================================================================
-; Section macros
-; ============================================================================
-!include "Sections.nsh"
-
-; ========= Macro to unselect and disable a section =========
-
-!macro DisableSection SECTION
-
-  Push $0
-    SectionGetFlags "${SECTION}" $0
-    IntOp $0 $0 & ${SECTION_OFF}
-    IntOp $0 $0 | ${SF_RO}
-    SectionSetFlags "${SECTION}" $0
-  Pop $0
-
-!macroend
-
-; ========= Macro to enable (unreadonly) a section =========
-!define SECTION_ENABLE   0xFFFFFFEF
-!macro EnableSection SECTION
-
-  Push $0
-    SectionGetFlags "${SECTION}" $0
-    IntOp $0 $0 & ${SECTION_ENABLE}
-    SectionSetFlags "${SECTION}" $0
-  Pop $0
-
-!macroend
-
-; ============================================================================
-; Command Line
-; ============================================================================
-!include "FileFunc.nsh"
-
-; ============================================================================
-; Directory selection page configuration
-; ============================================================================
-; The text to prompt the user to enter a directory
-DirText $(JOSM_DIR_TEXT)
-
-; The default installation directory
-InstallDir $PROGRAMFILES\JOSM\
-
-; See if this is an upgrade; if so, use the old InstallDir as default
-InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\JOSM "InstallDir"
-
-
-; ============================================================================
-; Install page configuration
-; ============================================================================
-ShowInstDetails show
-ShowUninstDetails show
-
-; ============================================================================
-; Functions and macros
-; ============================================================================
-
-; update file extension icons
-!macro UpdateIcons
-	Push $R0
-  	Push $R1
-  	Push $R2
-
-	!define UPDATEICONS_UNIQUE ${__LINE__}
-
-	IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.next1_${UPDATEICONS_UNIQUE} UpdateIcons.error1_${UPDATEICONS_UNIQUE}
-UpdateIcons.next1_${UPDATEICONS_UNIQUE}:
-	GetDllVersion "$SYSDIR\shell32.dll" $R0 $R1
-	IntOp $R2 $R0 / 0x00010000
-	IntCmp $R2 4 UpdateIcons.next2_${UPDATEICONS_UNIQUE} UpdateIcons.error2_${UPDATEICONS_UNIQUE}
-UpdateIcons.next2_${UPDATEICONS_UNIQUE}:
-	System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
-	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
-
-UpdateIcons.error1_${UPDATEICONS_UNIQUE}:
-	MessageBox MB_OK|MB_ICONSTOP $(JOSM_UPDATEICONS_ERROR1)
-	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
-UpdateIcons.error2_${UPDATEICONS_UNIQUE}:
-	MessageBox MB_OK|MB_ICONINFORMATION $(JOSM_UPDATEICONS_ERROR2)
-	Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
-UpdateIcons.quit_${UPDATEICONS_UNIQUE}:
-	!undef UPDATEICONS_UNIQUE
-	Pop $R2
-	Pop $R1
-  	Pop $R0
-
-!macroend
-
-; associate a file extension to an icon
-Function Associate
-	; $R0 should contain the prefix to associate to JOSM
-	Push $R1
-
-	ReadRegStr $R1 HKCR $R0 ""
-	StrCmp $R1 "" Associate.doRegister
-	Goto Associate.end
-Associate.doRegister:
-	;The extension is not associated to any program, we can do the link
-	WriteRegStr HKCR $R0 "" ${OSM_ASSOC}
-Associate.end:
-	pop $R1
-FunctionEnd
-
-; disassociate a file extension from an icon
-Function un.unlink
-	; $R0 should contain the prefix to unlink
-	Push $R1
-
-	ReadRegStr $R1 HKCR $R0 ""
-	StrCmp $R1 ${OSM_ASSOC} un.unlink.doUnlink
-	Goto un.unlink.end
-un.unlink.doUnlink:
-	; The extension is associated with JOSM so, we must destroy this!
-	DeleteRegKey HKCR $R0
-un.unlink.end:
-	pop $R1
-FunctionEnd
-
-Function .onInit
-  !insertmacro MUI_LANGDLL_DISPLAY
-FunctionEnd
-
-Function un.onInit
-  !insertmacro MUI_UNGETLANGUAGE
-FunctionEnd
-
-; ============================================================================
-; Installation execution commands
-; ============================================================================
-
-Section "-Required"
-;-------------------------------------------
-
-;
-; Install for every user
-;
-SectionIn 1 2 RO
-SetShellVarContext current
-
-SetOutPath $INSTDIR
-
-; Write the uninstall keys for Windows
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "DisplayVersion" "${VERSION}"
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "DisplayName" "JOSM ${VERSION}"
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "UninstallString" '"$INSTDIR\uninstall.exe"'
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "Publisher" "OpenStreetMap JOSM team"
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "HelpLink" "mailto:josm-dev at openstreetmap.org."
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "URLInfoAbout" "https://josm.openstreetmap.de"
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "URLUpdateInfo" "https://josm.openstreetmap.de"
-WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "NoModify" 1
-WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM" "NoRepair" 1
-WriteUninstaller "uninstall.exe"
-
-; Write an entry for ShellExecute
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe" "" '$INSTDIR\${DEST}.exe'
-WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe" "Path" '$INSTDIR'
-
-SectionEnd ; "Required"
-
-
-Section $(JOSM_SEC_JOSM) SecJosm
-;-------------------------------------------
-SectionIn 1
-SetOutPath $INSTDIR
-File "${DEST}.exe"
-File "josm-tested.jar"
-
-; XXX - should be provided/done by josm.jar itself and not here!
-SetShellVarContext current
-SetOutPath "$APPDATA\JOSM"
-
-SectionEnd
-
-SectionGroup $(JOSM_SEC_PLUGINS_GROUP) SecPluginsGroup
-
-Section $(JOSM_SEC_TURNRESTRICTIONS_PLUGIN) SecTurnrestrictionsPlugin
-;-------------------------------------------
-SectionIn 1 2
-SetShellVarContext current
-SetOutPath $APPDATA\JOSM\plugins
-File "../../dist/turnrestrictions.jar"
-StrCpy $plugins "$plugins<entry value='turnrestrictions'/>"
-SectionEnd
-
-Section $(JOSM_SEC_WMS) SecWMS
-;-------------------------------------------
-SectionIn 1 2
-SetShellVarContext current
-SetOutPath $INSTDIR\imageformats
-File "webkit-image\imageformats\qjpeg4.dll"
-SetOutPath $INSTDIR
-File "webkit-image\mingwm10.dll"
-File "webkit-image\QtCore4.dll"
-File "webkit-image\QtGui4.dll"
-File "webkit-image\QtNetwork4.dll"
-File "webkit-image\QtWebKit4.dll"
-File "webkit-image\webkit-image.exe"
-SectionEnd
-
-SectionGroupEnd	; "Plugins"
-
-Section $(JOSM_SEC_STARTMENU) SecStartMenu
-;-------------------------------------------
-SectionIn 1 2
-; To quote "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11d.asp":
-; "Do not include Readme, Help, or Uninstall entries on the Programs menu."
-CreateShortCut "$SMPROGRAMS\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
-SectionEnd
-
-Section $(JOSM_SEC_DESKTOP_ICON) SecDesktopIcon
-;-------------------------------------------
-; Create desktop icon
-; Desktop icon for a program should not be installed as default!
-CreateShortCut "$DESKTOP\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
-SectionEnd
-
-Section $(JOSM_SEC_QUICKLAUNCH_ICON) SecQuickLaunchIcon
-;-------------------------------------------
-; Create quick launch icon. Does not really exist as of Windows 7/8 but still advanced users use it.
-; Only disable it by default, see #10241
-CreateShortCut "$QUICKLAUNCH\JOSM.lnk" "$INSTDIR\${DEST}.exe" "" "$INSTDIR\${DEST}.exe" 0 "" "" $(JOSM_LINK_TEXT)
-SectionEnd
-
-Section $(JOSM_SEC_FILE_EXTENSIONS) SecFileExtensions
-;-------------------------------------------
-SectionIn 1 2
-; Create File Extensions
-WriteRegStr HKCR ${OSM_ASSOC} "" "OpenStreetMap data"
-WriteRegStr HKCR "${OSM_ASSOC}\Shell\open\command" "" '"$INSTDIR\${DEST}.exe" "%1"'
-WriteRegStr HKCR "${OSM_ASSOC}\DefaultIcon" "" '"$INSTDIR\${DEST}.exe",0'
-push $R0
-	StrCpy $R0 ".osm"
-  	Call Associate
-	StrCpy $R0 ".gpx"
-  	Call Associate
-; if somethings added here, add it also to the uninstall section
-pop $R0
-!insertmacro UpdateIcons
-SectionEnd
-
-Section "-PluginSetting"
-;-------------------------------------------
-SectionIn 1 2
-;MessageBox MB_OK "PluginSetting!" IDOK 0
-; XXX - should better be handled inside JOSM (recent plugin manager is going in the right direction)
-SetShellVarContext current
-!include LogicLib.nsh
-IfFileExists "$APPDATA\JOSM\preferences" settings_exists
-IfFileExists "$APPDATA\JOSM\preferences.xml" settings_exists
-FileOpen $R0 "$APPDATA\JOSM\preferences.xml" w
-FileWrite $R0 "<?xml version='1.0' encoding='UTF-8'?><preferences xmlns='http://josm.openstreetmap.de/preferences-1.0' version='4660'><list key='plugins'>$plugins</list></preferences>"
-FileClose $R0
-settings_exists:
-SectionEnd
-
-Section "un.$(un.JOSM_SEC_UNINSTALL)" un.SecUinstall
-;-------------------------------------------
-
-;
-; UnInstall for every user
-;
-SectionIn 1 2
-SetShellVarContext current
-
-Delete "$INSTDIR\josm-tested.jar"
-IfErrors 0 NoJOSMErrorMsg
-	MessageBox MB_OK $(un.JOSM_IN_USE_ERROR) IDOK 0 ;skipped if josm.jar removed
-	Abort $(un.JOSM_IN_USE_ERROR)
-NoJOSMErrorMsg:
-Delete "$INSTDIR\${DEST}.exe"
-Delete "$INSTDIR\imageformats\qjpeg4.dll"
-RMDir "$INSTDIR\imageformats"
-Delete "$INSTDIR\mingwm10.dll"
-Delete "$INSTDIR\QtCore4.dll"
-Delete "$INSTDIR\QtGui4.dll"
-Delete "$INSTDIR\QtNetwork4.dll"
-Delete "$INSTDIR\QtWebKit4.dll"
-Delete "$INSTDIR\webkit-image.exe"
-Delete "$INSTDIR\uninstall.exe"
-
-DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\JOSM"
-DeleteRegKey HKEY_LOCAL_MACHINE "Software\${DEST}.exe"
-DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${DEST}.exe"
-
-; Remove Language preference info
-DeleteRegKey HKCU "Software/JOSM" ;${MUI_LANGDLL_REGISTRY_ROOT} ${MUI_LANGDLL_REGISTRY_KEY}
-
-push $R0
-	StrCpy $R0 ".osm"
-  	Call un.unlink
-	StrCpy $R0 ".gpx"
-  	Call un.unlink
-pop $R0
-
-DeleteRegKey HKCR ${OSM_ASSOC}
-DeleteRegKey HKCR "${OSM_ASSOC}\Shell\open\command"
-DeleteRegKey HKCR "${OSM_ASSOC}\DefaultIcon"
-!insertmacro UpdateIcons
-
-Delete "$SMPROGRAMS\josm.lnk"
-Delete "$DESKTOP\josm.lnk"
-Delete "$QUICKLAUNCH\josm.lnk"
-
-RMDir "$INSTDIR"
-
-SectionEnd ; "Uninstall"
-
-Section /o "un.$(un.JOSM_SEC_PERSONAL_SETTINGS)" un.SecPersonalSettings
-;-------------------------------------------
-SectionIn 2
-SetShellVarContext current
-Delete "$APPDATA\JOSM\plugins\turnrestrictions\*.*"
-RMDir "$APPDATA\JOSM\plugins\turnrestrictions"
-Delete "$APPDATA\JOSM\plugins\*.*"
-RMDir "$APPDATA\JOSM\plugins"
-
-Delete "$APPDATA\JOSM\motd.html"
-Delete "$APPDATA\JOSM\preferences.xml"
-RMDir "$APPDATA\JOSM"
-SectionEnd
-
-Section "-Un.Finally"
-;-------------------------------------------
-SectionIn 1 2
-; this test must be done after all other things uninstalled (e.g. Global Settings)
-IfFileExists "$INSTDIR" 0 NoFinalErrorMsg
-    MessageBox MB_OK $(un.JOSM_INSTDIR_ERROR) IDOK 0 ; skipped if dir doesn't exist
-NoFinalErrorMsg:
-SectionEnd
-
-; ============================================================================
-; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD!
-; ============================================================================
-!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecJosm} $(JOSM_SECDESC_JOSM)
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsGroup} $(JOSM_SECDESC_PLUGINS_GROUP)
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecTurnrestrictionsPlugin} $(JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN)
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecWMS} $(JOSM_SECDESC_WMS)
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(JOSM_SECDESC_STARTMENU)
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} $(JOSM_SECDESC_DESKTOP_ICON)
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecQuickLaunchIcon} $(JOSM_SECDESC_QUICKLAUNCH_ICON) 
-  !insertmacro MUI_DESCRIPTION_TEXT ${SecFileExtensions} $(JOSM_SECDESC_FILE_EXTENSIONS)
-!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
-  !insertmacro MUI_DESCRIPTION_TEXT ${un.SecUinstall} $(un.JOSM_SECDESC_UNINSTALL)
-  !insertmacro MUI_DESCRIPTION_TEXT ${un.SecPersonalSettings} $(un.JOSM_SECDESC_PERSONAL_SETTINGS)
-!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
-
-; ============================================================================
-; Callback functions
-; ============================================================================
-
diff --git a/windows/langmacros.nsh b/windows/langmacros.nsh
deleted file mode 100644
index d7f5173..0000000
--- a/windows/langmacros.nsh
+++ /dev/null
@@ -1,84 +0,0 @@
-;;
-;; Windows JOSM NSIS installer language macros
-;;
-
-!macro JOSM_MACRO_DEFAULT_STRING LABEL VALUE
-  !ifndef "${LABEL}"
-    !define "${LABEL}" "${VALUE}"
-    !ifdef INSERT_DEFAULT
-      !warning "${LANG} lang file mising ${LABEL}, using default.."
-    !endif
-  !endif
-!macroend
-
-!macro JOSM_MACRO_LANGSTRING_INSERT LABEL LANG
-  LangString "${LABEL}" "${LANG_${LANG}}" "${${LABEL}}"
-  !undef "${LABEL}"
-!macroend
-
-!macro JOSM_MACRO_LANGUAGEFILE_BEGIN LANG
-  !define CUR_LANG "${LANG}"
-!macroend
-
-!macro JOSM_MACRO_LANGUAGEFILE_END
-  !define INSERT_DEFAULT
-  !include "${JOSM_DEFAULT_LANGFILE}"
-  !undef INSERT_DEFAULT
-
-  ; JOSM Language file Version 2
-  ; String labels should match those from the default language file.
-  
-  
-  
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_WELCOME_TEXT				${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_DIR_TEXT					${CUR_LANG}
-
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_FULL_INSTALL				${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_JOSM 					${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_PLUGINS_GROUP 			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_TURNRESTRICTIONS_PLUGIN    ${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_WMS 			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_STARTMENU 				${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_DESKTOP_ICON 			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_QUICKLAUNCH_ICON 		${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SEC_FILE_EXTENSIONS 		${CUR_LANG}
-  
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_JOSM				${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_PLUGINS_GROUP		${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN	${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_WMS			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_STARTMENU			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_DESKTOP_ICON		${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_QUICKLAUNCH_ICON	${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_SECDESC_FILE_EXTENSIONS	${CUR_LANG}
-
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_UPDATEICONS_ERROR1			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_UPDATEICONS_ERROR2			${CUR_LANG}
-  
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT JOSM_LINK_TEXT					${CUR_LANG}
-  
-  
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_UNCONFIRMPAGE_TEXT_TOP		${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_DEFAULT_UNINSTALL			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_FULL_UNINSTALL				${CUR_LANG}
-  
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_IN_USE_ERROR				${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_INSTDIR_ERROR				${CUR_LANG}
-    
-	
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_UNINSTALL				${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_PERSONAL_SETTINGS		${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SEC_PLUGINS					${CUR_LANG}
-  
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SECDESC_UNINSTALL			${CUR_LANG}
-  !insertmacro JOSM_MACRO_LANGSTRING_INSERT un.JOSM_SECDESC_PERSONAL_SETTINGS	${CUR_LANG}
-  
-
-  !undef CUR_LANG
-!macroend
-
-!macro JOSM_MACRO_INCLUDE_LANGFILE LANG FILE
-  !insertmacro JOSM_MACRO_LANGUAGEFILE_BEGIN "${LANG}"
-  !include "${FILE}"
-  !insertmacro JOSM_MACRO_LANGUAGEFILE_END
-!macroend
diff --git a/windows/launch4j.xml b/windows/launch4j.xml
deleted file mode 100644
index 6170dac..0000000
--- a/windows/launch4j.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<launch4jConfig>
-  <headerType>gui</headerType>
-  <outfile>%TARGET%.exe</outfile>
-  <jar>josm-tested.jar</jar>
-  <dontWrapJar>true</dontWrapJar>
-  <errTitle></errTitle>
-  <downloadUrl>https://java.com/download</downloadUrl>
-  <supportUrl></supportUrl>
-  <cmdLine></cmdLine>
-  <chdir></chdir>
-  <priority>normal</priority>
-  <stayAlive>true</stayAlive>
-  <icon>logo.ico</icon>
-  <jre>
-    <path></path>
-    <minVersion>1.7.0</minVersion>
-    <maxVersion></maxVersion>
-    <jdkPreference>preferJre</jdkPreference>
-	<runtimeBits>%RTBITS%</runtimeBits>
-    <initialHeapSize>%INIHEAP%</initialHeapSize>
-    <maxHeapSize>%MAXHEAP%</maxHeapSize>
-  </jre>
-  <versionInfo>
-    <fileVersion>1.5.0.%VERSION%</fileVersion>
-    <txtFileVersion>%VERSION%</txtFileVersion>
-    <fileDescription>Java OpenStreetMap Editor</fileDescription>
-    <copyright>GNU General Public License v2 or later</copyright>
-    <productVersion>1.5.0.%VERSION%</productVersion>
-    <txtProductVersion>%VERSION%</txtProductVersion>
-    <productName>JOSM</productName>
-    <companyName>OpenStreetMap</companyName>
-    <internalName>%TARGET%</internalName>
-    <originalFilename>%TARGET%.exe</originalFilename>
-  </versionInfo>
-</launch4jConfig>
diff --git a/windows/locale/english.nsh b/windows/locale/english.nsh
deleted file mode 100644
index 6a2e648..0000000
--- a/windows/locale/english.nsh
+++ /dev/null
@@ -1,51 +0,0 @@
-;;
-;;  english.nsh
-;;
-;;  Default language strings for the Windows JOSM NSIS installer.
-;;  Windows Code page: 1252
-;;
-;;  Note: If translating this file, replace "!insertmacro JOSM_MACRO_DEFAULT_STRING"
-;;  with "!define".
-
-; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
-; langmacros.nsh when updating this file
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "This wizard will guide you through the installation of the Java OpenStreetMap Editor (JOSM).$\r$\n$\r$\nBefore starting the installation, make sure any JOSM applications are not running.$\r$\n$\r$\nClick 'Next' to continue."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Choose a directory in which to install JOSM."
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (full install)"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Plugins"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "WMS Downloader"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Start Menu Entry"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Desktop Icon"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Quick Launch Icon"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "File Extensions"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM is the Java OpenStreetMap editor for .osm files."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "An assortment of useful JOSM plugins."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Allows to enter and maintain information about turn restrictions."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Display background images from Web Map Service (WMS) sources."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "Add a JOSM start menu entry."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "Add a JOSM desktop icon."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "Add a JOSM icon to the quick launch bar."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "Add JOSM file extensions for .osm and .gpx files."
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "Can't find 'shell32.dll' library. Impossible to update icons"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "You should install the free 'Microsoft Layer for Unicode' to update JOSM file icons"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "Java OpenStreetMap - Editor"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "The following Java OpenStreetMap editor (JOSM) installation will be uninstalled. Click 'Next' to continue."
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "Default (keep Personal Settings and plugins)"
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "All (remove all)"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Please note: josm could not be removed, it's probably in use!"
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Please note: The directory $INSTDIR could not be removed!"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Personal settings" 
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Personal plugins" 
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "Uninstall JOSM."
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "Uninstall personal settings from your profile: $PROFILE."
diff --git a/windows/locale/french.nsh b/windows/locale/french.nsh
deleted file mode 100644
index 2e913f0..0000000
--- a/windows/locale/french.nsh
+++ /dev/null
@@ -1,51 +0,0 @@
-;;
-;;  french.nsh
-;;
-;;  French language strings for the Windows JOSM NSIS installer.
-;;  Windows Code page: 1252
-;;
-;;  Author: Vincent Privat <vprivat at openstreetmap.fr>, 2011.
-;;
-
-; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
-; langmacros.nsh when updating this file
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "Cet assistant va vous guider � travers l'installation de l'�diteur Java OpenStreetMap (JOSM).$\r$\n$\r$\nAvant de lancer l'installation, assurez-vous que JOSM n'est pas d�j� en cours d'ex�cution.$\r$\n$\r$\nVeuillez cliquer sur 'Suivant' pour continuer."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Veuillez choisir un dossier o� installer JOSM."
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (installation compl�te)"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Greffons"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "T�l�chargement WMS"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Entr�e dans le menu D�marrer"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Ic�ne sur le Bureau"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Ic�ne dans la barre de lancement rapide"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "Extensions de fichier"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM est l'�diteur Java OpenStreetMap pour les fichiers .osm."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "Une s�lection de greffons utiles pour JOSM."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Permet de saisir et de maintenir des informations sur les restrictions de tourner."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Affiche des images en arri�re-plan � partir de sources Web Map Service (WMS)."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "Ajoute une entr�e JOSM au menu d�marrer."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "Ajoute une ic�ne JOSM au Bureau."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "Ajoute une ic�ne JOSM � la barre de lancement rapide."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "Associe JOSM aux extensions de fichier .osm et .gpx."
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "La biblioth�que 'shell32.dll' est introuvable. Impossible de mettre � jour les ic�nes"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "Vous devriez installer le compl�ment gratuit 'Microsoft Layer for Unicode' pour mettre � jour les fichiers d'ic�nes de JOSM"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "�diteur Java OpenStreetMap"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "L'installation suivante de l'�diteur Java OpenStreetMap (JOSM) va �tre d�sinstall�e. Veuillez cliquer sur 'Suivant' pour continuer."
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "D�faut (conserve les param�tres personnels et les greffons)"
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "Tout (supprime l'int�gralit� des fichiers)"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Attention: JOSM n'a pas pu �tre retir�, il est probablement en utilisation !"
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Attention: Le dossier $INSTDIR n'a pas pu �tre supprim� !"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Param�tres personnels" 
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Greffons personnels" 
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "D�sinstaller JOSM."
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "D�sinstaller les param�tres personnels de votre profil: $PROFILE."
diff --git a/windows/locale/german.nsh b/windows/locale/german.nsh
deleted file mode 100644
index 0486fe9..0000000
--- a/windows/locale/german.nsh
+++ /dev/null
@@ -1,51 +0,0 @@
-;;
-;;  german.nsh
-;;
-;;  German language strings for the Windows JOSM NSIS installer.
-;;  Windows Code page: 1252
-;;
-;;  Author: Bjoern Voigt <bjoern at cs.tu-berlin.de>, 2003.
-;;  Version 2
-
-; Make sure to update the JOSM_MACRO_LANGUAGEFILE_END macro in
-; langmacros.nsh when updating this file
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_WELCOME_TEXT "Diese Installationshilfe wird Sie durch den Installationsvorgang des JAVA OpenStreetMap Editors (JOSM) f�hren.$\r$\n$\r$\nBevor Sie die Installation starten, stellen Sie bitte sicher das JOSM nicht bereits l�uft.$\r$\n$\r$\nAuf 'Weiter' klicken um fortzufahren."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_DIR_TEXT "Bitte das Verzeichnis ausw�hlen, in das JOSM installiert werden soll."
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_FULL_INSTALL "JOSM (Komplettinstallation)"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_JOSM "JOSM"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_PLUGINS_GROUP "Plugins"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_TURNRESTRICTIONS_PLUGIN  "TurnRestrictions"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_WMS  "WMS Downloadprogram"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_STARTMENU  "Startmen� Eintrag"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_DESKTOP_ICON  "Desktop Icon"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_QUICKLAUNCH_ICON  "Schnellstartleiste Icon"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SEC_FILE_EXTENSIONS  "Dateiendungen"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_JOSM "JOSM ist der JAVA OpenStreetMap Editor f�r .osm Dateien."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_PLUGINS_GROUP "Eine Auswahl an n�tzlichen JOSM Plugins."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_TURNRESTRICTIONS_PLUGIN  "Erleichtert die Eingabe und Pflege von Informationen zu Abbiegebeschr�nkungen."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_WMS  "Hintergrundbilder von Web Map Service (WMS) Quellen."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_STARTMENU  "F�gt JOSM zum Startmen� hinzu."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_DESKTOP_ICON  "F�gt ein JOSM Icon zum Desktop hinzu."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_QUICKLAUNCH_ICON  "F�gt ein JOSM Icon zur Schnellstartleiste (Quick Launch) hinzu."
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_SECDESC_FILE_EXTENSIONS  "F�gt JOSM Dateiendungen f�r .osm and .gpx Dateien hinzu."
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR1 "Kann die Bibliothek 'shell32.dll' nicht finden. Das Update der Icons ist nicht m�glich"
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_UPDATEICONS_ERROR2 "Sie sollten die kostenlose 'Microsoft Layer for Unicode' installieren um die Icons updaten zu k�nnen"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING JOSM_LINK_TEXT "JAVA OpenStreetMap - Editor"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_UNCONFIRMPAGE_TEXT_TOP "Die folgende JAVA OpenStreetMap editor (JOSM) Installation wird deinstalliert. Auf 'Weiter' klicken um fortzufahren."
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_DEFAULT_UNINSTALL "Default (pers�nliche Einstellungen und Plugins behalten)"
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_FULL_UNINSTALL "Alles (alles entfernen)"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_IN_USE_ERROR "Achtung: josm konnte nicht entfernt werden, m�glicherweise wird es noch benutzt!"
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_INSTDIR_ERROR "Achtung: Das Verzeichnis $INSTDIR konnte nicht entfernt werden!"
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_UNINSTALL "JOSM" 
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PERSONAL_SETTINGS "Pers�nliche Einstellungen" 
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SEC_PLUGINS "Pers�nliche Plugins" 
-
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_UNINSTALL "Deinstalliere JOSM."
-!insertmacro JOSM_MACRO_DEFAULT_STRING un.JOSM_SECDESC_PERSONAL_SETTINGS  "Deinstalliere pers�nliche Einstellungen von Ihrem Profil: $PROFILE."
diff --git a/windows/logo.ico b/windows/logo.ico
deleted file mode 100644
index eb76acf..0000000
Binary files a/windows/logo.ico and /dev/null differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ComUtils.h b/windows/plugins/stdutils/Contrib/StdUtils/ComUtils.h
deleted file mode 100644
index 621fb8f..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/ComUtils.h
+++ /dev/null
@@ -1,96 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#ifdef _UNICODE
-	#define ALLOC_STRING(STR) SysAllocString(STR)
-#else
-	static inline BSTR ALLOC_STRING(const char *STR)
-	{
-		BSTR result = NULL;
-		wchar_t *temp = ansi_to_utf16(STR);
-		if(temp)
-		{
-			result = SysAllocString(temp);
-			delete [] temp;
-		}
-		return result;
-	}
-#endif
-
-class variant_t
-{
-public:
-	variant_t(void) { VariantInit(&data); }
-	variant_t(const TCHAR *str) { VariantInit(&data); if(str != NULL) setString(str); }
-	variant_t(const LONG value) { VariantInit(&data); setIValue(value); }
-	~variant_t(void) { VariantClear(&data); }
-	void setIValue(const LONG value) { VariantClear(&data); data.vt = VT_I4; data.lVal = value; }
-	void setString(const TCHAR *str) { VariantClear(&data); if(str != NULL) { setOleStr(ALLOC_STRING(str)); } }
-	operator const VARIANT&(void) const { return data; };
-	operator VARIANT*(void) { return &data; };
-	operator const BSTR(void) const { return data.bstrVal; };
-#ifndef _UNICODE
-	variant_t(const WCHAR *str) { VariantInit(&data); if(str != NULL) setString(str); }
-	void setString(const WCHAR *str) { VariantClear(&data); if(str != NULL) { setOleStr(SysAllocString(str)); } }
-#endif
-protected:
-	void setOleStr(const BSTR value) { if(value != NULL) { data.vt = VT_BSTR; data.bstrVal = value; } }
-private:
-	VARIANT data;
-};
-
-#define DISPATCH_MESSAGES do \
-{ \
-	for(int i = 0; i < 16; i++) \
-	{ \
-		MSG _msg; bool _flag = false; \
-		while(PeekMessage(&_msg, NULL, 0, 0, PM_REMOVE)) \
-		{ \
-			DispatchMessage(&_msg); _flag = true; \
-		} \
-		if(_flag) Sleep(0); else break;\
-	} \
-} \
-while(0)
-
-/*
- * Each single-threaded apartment (STA) must have a message loop to handle calls from other processes and apartments within the same process!
- * In order to avoid deadlock or crash, we use CoWaitForMultipleHandles() to dispatch the pending messages, as it will perform "message pumping" while waiting.
- * Source: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680112%28v=vs.85%29.aspx | http://msdn.microsoft.com/en-us/library/ms809971.aspx
- */
-static void DispatchPendingMessages(const DWORD dwTimeout)
-{
-	DWORD dwMaxTicks = GetTickCount() + (10 * dwTimeout);
-	HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
-	if(hEvent)
-	{
-		for(;;)
-		{
-			DISPATCH_MESSAGES;
-			DWORD dwReturn = MsgWaitForMultipleObjects(1, &hEvent, FALSE, dwTimeout, QS_ALLINPUT | QS_ALLPOSTMESSAGE);
-			if((dwReturn == WAIT_TIMEOUT) || (dwReturn == WAIT_FAILED) || (GetTickCount() > dwMaxTicks)) break;
-		}
-		CloseHandle(hEvent);
-	}
-	DISPATCH_MESSAGES;
-}
-
-/*eof*/
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.cpp b/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.cpp
deleted file mode 100644
index c27fda3..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.cpp
+++ /dev/null
@@ -1,294 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#define WIN32_LEAN_AND_MEAN
-#include <Windows.h>
-
-#include <climits>
-
-#include "UnicodeSupport.h"
-#include "DetectOsVersion.h"
-
-//Forward declaration
-static bool verify_os_version(const DWORD major, const DWORD minor, const DWORD spack);
-static bool verify_os_buildNo(const DWORD buildNo);
-
-/*
- * Determine the *real* Windows version
- */
-bool get_real_os_version(unsigned int *major, unsigned int *minor, unsigned int *spack, bool *pbOverride)
-{
-	static const DWORD MAX_VALUE = 1024;
-
-	*major = *minor = *spack = 0;
-	*pbOverride = false;
-	
-	//Initialize local variables
-	OSVERSIONINFOEXW osvi;
-	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
-	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
-
-	//Try GetVersionEx() first
-	if(GetVersionExW((LPOSVERSIONINFOW)&osvi) == FALSE)
-	{
-		/*fprintf(stderr, "GetVersionEx() has failed, cannot detect Windows version!\n");*/
-		return false;
-	}
-
-	//Make sure we are running on NT
-	if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
-	{
-		*major = osvi.dwMajorVersion;
-		*minor = osvi.dwMinorVersion;
-		*spack = osvi.wServicePackMajor;
-	}
-	else
-	{
-		//Workaround for Windows 9x comaptibility mode
-		if(verify_os_version(4, 0, 0))
-		{
-			*pbOverride = true;
-			*major = 4;
-		}
-		else
-		{
-			//Really not running on Windows NT
-			return false;
-		}
-	}
-
-	//Determine the real *major* version first
-	for(DWORD nextMajor = (*major) + 1; nextMajor <= MAX_VALUE; nextMajor++)
-	{
-		if(verify_os_version(nextMajor, 0, 0))
-		{
-			*major = nextMajor;
-			*minor = *spack = 0;
-			*pbOverride = true;
-			continue;
-		}
-		break;
-	}
-
-	//Now also determine the real *minor* version
-	for(DWORD nextMinor = (*minor) + 1; nextMinor <= MAX_VALUE; nextMinor++)
-	{
-		if(verify_os_version((*major), nextMinor, 0))
-		{
-			*minor = nextMinor;
-			*spack = 0;
-			*pbOverride = true;
-			continue;
-		}
-		break;
-	}
-
-	//Finally determine the real *servicepack* version
-	for(DWORD nextSpack = (*spack) + 1; nextSpack <= MAX_VALUE; nextSpack++)
-	{
-		if(verify_os_version((*major), (*minor), nextSpack))
-		{
-			*spack = nextSpack;
-			*pbOverride = true;
-			continue;
-		}
-		break;
-	}
-
-	//Overflow detected?
-	if((*major >= MAX_VALUE) || (*minor >= MAX_VALUE) || (*spack >= MAX_VALUE))
-	{
-		return false;
-	}
-
-	return true;
-}
-
-/*
- * Determine the *real* Windows build number
- */
-bool get_real_os_buildNo(unsigned int *buildNo, bool *pbOverride)
-{
-	*buildNo = 0;
-	*pbOverride = false;
-	
-	//Initialize local variables
-	OSVERSIONINFOEXW osvi;
-	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
-	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
-
-	//Try GetVersionEx() first
-	if(GetVersionExW((LPOSVERSIONINFOW)&osvi) == FALSE)
-	{
-		/*fprintf(stderr, "GetVersionEx() has failed, cannot detect Windows version!\n");*/
-		return false;
-	}
-
-	//Make sure we are running on NT
-	if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
-	{
-		*buildNo = osvi.dwBuildNumber;
-	}
-	else
-	{
-		//Workaround for Windows 9x comaptibility mode
-		if(verify_os_version(4, 0, 0))
-		{
-			*pbOverride = true;
-			*buildNo = 1381;
-		}
-		else
-		{
-			//Really not running on Windows NT
-			return false;
-		}
-	}
-
-	//Determine the real build number
-	DWORD stepSize = 4096;
-	for(DWORD nextBuildNo = (*buildNo); nextBuildNo < INT_MAX; nextBuildNo = (*buildNo) + stepSize)
-	{
-		if(verify_os_buildNo(nextBuildNo))
-		{
-			*buildNo = nextBuildNo;
-			*pbOverride = true;
-			continue;
-		}
-		if(stepSize > 1)
-		{
-			stepSize = stepSize / 2;
-			continue;
-		}
-		break;
-	}
-
-	return true;
-}
-
-/*
- * Get friendly OS version name
- */
-const TCHAR *get_os_friendly_name(const DWORD major, const DWORD minor)
-{
-	static const size_t NAME_COUNT = 8;
-
-	static const struct
-	{
-		const DWORD major;
-		const DWORD minor;
-		const TCHAR name[6];
-	}
-	s_names[NAME_COUNT] =
-	{
-		{ 4, 0, T("winnt") },
-		{ 5, 0, T("win2k") },
-		{ 5, 1, T("winxp") },
-		{ 5, 2, T("xpx64") },
-		{ 6, 0, T("vista") },
-		{ 6, 1, T("win70") },
-		{ 6, 2, T("win80") },
-		{ 6, 3, T("win81") }
-	};
-
-	for(size_t i = 0; i < NAME_COUNT; i++)
-	{
-		if((s_names[i].major == major) && (s_names[i].minor == minor))
-		{
-			return &s_names[i].name[0];
-		}
-	}
-
-	return T("unknown");
-}
-
-/*
- * Verify a specific Windows version
- */
-static bool verify_os_version(const DWORD major, const DWORD minor, const DWORD spack)
-{
-	OSVERSIONINFOEXW osvi;
-	DWORDLONG dwlConditionMask = 0;
-
-	//Initialize the OSVERSIONINFOEX structure
-	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
-
-	//Fille the OSVERSIONINFOEX structure
-	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
-	osvi.dwMajorVersion      = major;
-	osvi.dwMinorVersion      = minor;
-	osvi.wServicePackMajor   = spack;
-	osvi.dwPlatformId        = VER_PLATFORM_WIN32_NT;
-
-	//Initialize the condition mask
-	VER_SET_CONDITION(dwlConditionMask, VER_MAJORVERSION,     VER_GREATER_EQUAL);
-	VER_SET_CONDITION(dwlConditionMask, VER_MINORVERSION,     VER_GREATER_EQUAL);
-	VER_SET_CONDITION(dwlConditionMask, VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL);
-	VER_SET_CONDITION(dwlConditionMask, VER_PLATFORMID,       VER_EQUAL);
-
-	// Perform the test
-	const BOOL ret = VerifyVersionInfoW(&osvi, VER_MAJORVERSION | VER_MINORVERSION | VER_SERVICEPACKMAJOR | VER_PLATFORMID, dwlConditionMask);
-
-	//Error checking
-	if(!ret)
-	{
-		if(GetLastError() != ERROR_OLD_WIN_VERSION)
-		{
-			/*fprintf(stderr, "VerifyVersionInfo() system call has failed!\n");*/
-		}
-	}
-
-	return (ret != FALSE);
-}
-
-/*
- * Verify a specific Windows build
- */
-static bool verify_os_buildNo(const DWORD buildNo)
-{
-	OSVERSIONINFOEXW osvi;
-	DWORDLONG dwlConditionMask = 0;
-
-	//Initialize the OSVERSIONINFOEX structure
-	memset(&osvi, 0, sizeof(OSVERSIONINFOEXW));
-
-	//Fille the OSVERSIONINFOEX structure
-	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEXW);
-	osvi.dwBuildNumber       = buildNo;
-
-	//Initialize the condition mask
-	VER_SET_CONDITION(dwlConditionMask, VER_BUILDNUMBER, VER_GREATER_EQUAL);
-
-	// Perform the test
-	const BOOL ret = VerifyVersionInfoW(&osvi, VER_BUILDNUMBER, dwlConditionMask);
-
-	//Error checking
-	if(!ret)
-	{
-		if(GetLastError() != ERROR_OLD_WIN_VERSION)
-		{
-			/*fprintf(stderr, "VerifyVersionInfo() system call has failed!\n");*/
-		}
-	}
-
-	return (ret != FALSE);
-}
-
-/*eof*/
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.h b/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.h
deleted file mode 100644
index c0638be..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/DetectOsVersion.h
+++ /dev/null
@@ -1,26 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-bool get_real_os_version(unsigned int *major, unsigned int *minor, unsigned int *spack, bool *pbOverride);
-bool get_real_os_buildNo(unsigned int *buildNo, bool *pbOverride);
-const TCHAR *get_os_friendly_name(const DWORD major, const DWORD minor);
-
-/*eof*/
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.cpp b/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.cpp
deleted file mode 100644
index 7c2a5ca..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////
-// The following code was strongly inspired by the "InvokeShellVerb" plug-in
-// Copyright (c) 2011 Robert Strong
-// For details see: http://nsis.sourceforge.net/Invoke_Shell_Verb_plugin
-///////////////////////////////////////////////////////////////////////////////
-
-#include "InvokeShellVerb.h"
-#include "UnicodeSupport.h"
-#include "msvc_utils.h"
-
-#include <exdisp.h>
-#include <Shobjidl.h>
-#include <Shlwapi.h>
-#include <SHLGUID.h>
-
-///////////////////////////////////////////////////////////////////////////////
-
-#include "ComUtils.h"
-
-typedef struct
-{
-	const TCHAR *pcDirectoryName;
-	const TCHAR *pcFileName;
-	DWORD uiVerbId;
-	int returnValue;
-}
-threadParam_t;
-
-static const WCHAR *shell32 = L"shell32.dll";
-
-///////////////////////////////////////////////////////////////////////////////
-
-static unsigned __stdcall MyInvokeShellVerb_ThreadHelperProc(void* pArguments)
-{
-	HRESULT hr = CoInitialize(NULL);
-	if((hr == S_OK) || (hr == S_FALSE))
-	{
-		if(threadParam_t *params = (threadParam_t*) pArguments)
-		{
-			params->returnValue = MyInvokeShellVerb(params->pcDirectoryName, params->pcFileName, params->uiVerbId, false);
-		}
-		DispatchPendingMessages(1000); //Required to avoid potential deadlock or crash on CoUninitialize() !!!
-		CoUninitialize();
-	}
-	else
-	{
-		if(threadParam_t *params = (threadParam_t*) pArguments)
-		{
-			params->returnValue = -3;
-		}
-	}
-
-	return EXIT_SUCCESS;
-}
-
-static int MyInvokeShellVerb_ShellDispatchProc(const TCHAR *pcDirectoryName, const TCHAR *pcFileName, const DWORD uiVerbId)
-{
-	int iSuccess = 0;
-
-	bool bUnloadDll = false;
-	HMODULE hShellDll = GetModuleHandleW(shell32); 
-	if(hShellDll == NULL)
-	{
-		bUnloadDll = true;
-		hShellDll = LoadLibraryW(shell32);
-		if(hShellDll == NULL)
-		{
-			iSuccess = -3;
-			return iSuccess;
-		}
-	}
-
-	WCHAR pcVerbName[128];
-	memset(pcVerbName, 0, sizeof(WCHAR) * 128);
-	
-	if(LoadStringW(hShellDll, uiVerbId, pcVerbName, 128) < 1)
-	{
-		if(bUnloadDll)
-		{
-			FreeLibrary(hShellDll);
-			hShellDll = NULL;
-		}
-		iSuccess = -3;
-		return iSuccess;
-	}
-
-	if(bUnloadDll)
-	{
-		FreeLibrary(hShellDll);
-		hShellDll = NULL;
-	}
-
-	// ----------------------------------- //
-
-	IShellDispatch *pShellDispatch = NULL;
-	Folder *pFolder = NULL; FolderItem *pItem = NULL;
-	
-	HRESULT hr = CoCreateInstance(CLSID_Shell, NULL, CLSCTX_INPROC_SERVER, IID_IShellDispatch, (void**)&pShellDispatch);
-	if(FAILED(hr) || (pShellDispatch ==  NULL))
-	{
-		iSuccess = -3;
-		return iSuccess;
-	}
-
-	variant_t vaDirectory(pcDirectoryName);
-	hr = pShellDispatch->NameSpace(vaDirectory, &pFolder);
-	if(FAILED(hr) || (pFolder == NULL))
-	{
-		iSuccess = -3;
-		pShellDispatch->Release();
-		return iSuccess;
-	}
-
-	pShellDispatch->Release();
-	pShellDispatch = NULL;
-
-	variant_t vaFileName(pcFileName);
-	hr = pFolder->ParseName(vaFileName, &pItem);
-	if(FAILED(hr) || (pItem == NULL))
-	{
-		iSuccess = -3;
-		pFolder->Release();
-		return iSuccess;
-	}
-
-	pFolder->Release();
-	pFolder = NULL;
-
-	// ----------------------------------- //
-
-	long iVerbCount = 0;
-	FolderItemVerbs *pVerbs = NULL;
-	
-	hr = pItem->Verbs(&pVerbs);
-	if(FAILED(hr) || (pVerbs == NULL))
-	{
-		iSuccess = -3;
-		pItem->Release();
-		return iSuccess;
-	}
-
-	pItem->Release();
-	pItem = NULL;
-
-	hr = pVerbs->get_Count(&iVerbCount);
-	if(FAILED(hr) || (iVerbCount < 1))
-	{
-		iSuccess = -3;
-		pVerbs->Release();
-		return iSuccess;
-	}
-
-	DispatchPendingMessages(125);
-
-	// ----------------------------------- //
-
-	for(int i = 0; i < iVerbCount; i++)
-	{
-		variant_t vaVariantIndex(i);
-		FolderItemVerb *pCurrentVerb = NULL;
-		BSTR pcCurrentVerbName = NULL;
-
-		hr = pVerbs->Item(vaVariantIndex, &pCurrentVerb);
-		if (FAILED(hr) || (pCurrentVerb == NULL))
-		{
-			continue;
-		}
-		
-		hr = pCurrentVerb->get_Name(&pcCurrentVerbName);
-		if(FAILED(hr) || (pcCurrentVerbName == NULL))
-		{
-			pCurrentVerb->Release();
-			continue;
-		}
-
-		if(_wcsicmp(pcCurrentVerbName, pcVerbName) == 0)
-		{
-			hr = pCurrentVerb->DoIt();
-			if(!FAILED(hr))
-			{
-				iSuccess = 1;
-			}
-		}
-
-		SysFreeString(pcCurrentVerbName);
-		pCurrentVerb->Release();
-	}
-
-	pVerbs->Release();
-	pVerbs = NULL;
-
-	// ----------------------------------- //
-	
-	return iSuccess;
-}
-
-int MyInvokeShellVerb(const TCHAR *pcDirectoryName, const TCHAR *pcFileName, const DWORD uiVerbId, const bool threaded)
-{
-	int iSuccess = -1;
-
-	OSVERSIONINFO osVersion;
-	memset(&osVersion, 0, sizeof(OSVERSIONINFO));
-	osVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-	
-	if(GetVersionEx(&osVersion))
-	{
-		if((osVersion.dwPlatformId == VER_PLATFORM_WIN32_NT) && ((osVersion.dwMajorVersion > 6) || ((osVersion.dwMajorVersion == 6) && (osVersion.dwMinorVersion >= 1))))
-		{
-			if(threaded)
-			{
-				threadParam_t threadParams = {pcDirectoryName, pcFileName, uiVerbId, 0};
-				HANDLE hThread = (HANDLE) _beginthreadex(NULL, 0, MyInvokeShellVerb_ThreadHelperProc, &threadParams, 0, NULL);
-				if((hThread != NULL) && (hThread != INVALID_HANDLE_VALUE))
-				{
-					DWORD status = WaitForSingleObject(hThread, 30000);
-					if(status == WAIT_OBJECT_0)
-					{
-						iSuccess = threadParams.returnValue;
-					}
-					else if(status == WAIT_TIMEOUT)
-					{
-						iSuccess = -2;
-						TerminateThread(hThread, EXIT_FAILURE);
-					}
-					CloseHandle(hThread);
-					return iSuccess;
-				}
-			}
-			else
-			{
-				iSuccess = MyInvokeShellVerb_ShellDispatchProc(pcDirectoryName, pcFileName, uiVerbId);
-			}
-		}
-	}
-
-	return iSuccess;
-}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.h b/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.h
deleted file mode 100644
index 15f7292..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/InvokeShellVerb.h
+++ /dev/null
@@ -1,26 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _WINDOWS_
-#include <Windows.h>
-#endif
-
-int MyInvokeShellVerb(const TCHAR *pcDirectoryName, const TCHAR *pcFileName, const DWORD uiVerbId, const bool threaded = true);
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.cpp b/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.cpp
deleted file mode 100644
index 0bc10ea..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#include <Windows.h>
-#include "UnicodeSupport.h"
-
-static bool parse_parameter(const TCHAR *str, const size_t len, const TCHAR *arg_name, bool *first, TCHAR *dest_buff, size_t dest_size)
-{
-	if(*first)
-	{
-		*first = false;
-		return false;
-	}
-
-	bool bSuccess = false;
-	
-	if((len > 1) && (str[0] == T('/')))
-	{
-		TCHAR *buffer = new TCHAR[len];
-		memset(buffer, 0, sizeof(TCHAR) * len);
-		STRNCPY(buffer, &str[1], len-1);
-
-		TCHAR *offset = STRCHR(buffer, T('='));
-		if(offset != NULL)
-		{
-			offset[0] = T('\0');
-			if(STRICMP(buffer, arg_name) == 0)
-			{
-				bSuccess = true;
-				STRNCPY(dest_buff, &offset[1], dest_size);
-				dest_buff[dest_size-1] = T('\0');
-			}
-		}
-		else
-		{
-			if(STRICMP(buffer, arg_name) == 0)
-			{
-				bSuccess = true;
-				dest_buff[0] = T('\0');
-			}
-		}
-	
-		delete [] buffer;
-	}
-
-	return bSuccess;
-}
-
-bool parse_commandline(const TCHAR *arg_name, TCHAR *dest_buff, size_t dest_size)
-{
-	bool bSuccess = false;
-	TCHAR *cmd = GetCommandLine();
-	
-	if(cmd)
-	{
-		bool first = true;
-		size_t cmd_len = STRLEN(cmd);
-		size_t tok_len = 0;
-		TCHAR *tok_pos = NULL;
-		bool flag = false;
-		for(size_t i = 0; i < cmd_len; i++)
-		{
-			if(cmd[i] == T('\"'))
-			{
-				if(tok_pos != NULL)
-				{
-					if(parse_parameter(tok_pos, tok_len, arg_name, &first, dest_buff, dest_size))
-					{
-						bSuccess = true;
-					}
-				}
-				tok_len = 0;
-				tok_pos = NULL;
-				flag = !flag;
-				continue;
-			}
-			if((cmd[i] == L' ') && (flag == false))
-			{
-				if(tok_pos != NULL)
-				{
-					if(parse_parameter(tok_pos, tok_len, arg_name, &first, dest_buff, dest_size))
-					{
-						bSuccess = true;
-					}
-				}
-				tok_len = 0;
-				tok_pos = NULL;
-				continue;
-			}
-			if(tok_pos == NULL)
-			{
-				tok_pos = &cmd[i];
-			}
-			tok_len++;
-		}
-		if(tok_pos != NULL)
-		{
-			if(parse_parameter(tok_pos, tok_len, arg_name, &first, dest_buff, dest_size))
-			{
-				bSuccess = true;
-			}
-		}
-	}
-
-	return bSuccess;
-}
-
-const TCHAR *get_commandline_arguments(void)
-{
-	TCHAR *cmd = GetCommandLine();
-	static const TCHAR *error = T("error");
-
-	if(cmd)
-	{
-		size_t i = 0;
-		while(cmd[i] == T(' ')) i++;
-		if(cmd[i] == T('\"'))
-		{
-			i++;
-			while((cmd[i] != T('\0')) && (cmd[i] != T('\"'))) i++;
-			if(cmd[i] == T('\"')) i++;
-		}
-		else
-		{
-			while((cmd[i] != T('\0')) && (cmd[i] != T(' ')) && (cmd[i] != T('\"'))) i++;
-		}
-		while(cmd[i] == T(' ')) i++;
-		return &cmd[i];
-	}
-	else
-	{
-		return error;
-	}
-}
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.h b/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.h
deleted file mode 100644
index 006ef1d..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/ParameterParser.h
+++ /dev/null
@@ -1,23 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-bool parse_commandline(const TCHAR *arg_name, TCHAR *dest_buff, size_t dest_size);
-const TCHAR *get_commandline_arguments(void);
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/RandUtils.h b/windows/plugins/stdutils/Contrib/StdUtils/RandUtils.h
deleted file mode 100644
index 7919e8d..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/RandUtils.h
+++ /dev/null
@@ -1,101 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-typedef BOOLEAN (__stdcall *secure_rand_t)(PVOID RandomBuffer, ULONG RandomBufferLength);
-
-static bool s_secure_rand_init = false;
-static secure_rand_t s_secure_rand = NULL;
-
-/*RAII mutext locker class*/
-class MutexLocker
-{
-public:
-	MutexLocker(LPCRITICAL_SECTION mutex)
-	:
-		m_mutex(mutex)
-	{
-		EnterCriticalSection(m_mutex);
-	}
-	~MutexLocker(void)
-	{
-		LeaveCriticalSection(m_mutex);
-	}
-private:
-	LPCRITICAL_SECTION const m_mutex;
-};
-
-/* Robert Jenkins' 96 bit Mix Function */
-static unsigned int mix_function(const unsigned int x, const unsigned int y, const unsigned int z)
-{
-	unsigned int a = x;
-	unsigned int b = y;
-	unsigned int c = z;
-	
-	a=a-b;  a=a-c;  a=a^(c >> 13);
-	b=b-c;  b=b-a;  b=b^(a << 8); 
-	c=c-a;  c=c-b;  c=c^(b >> 13);
-	a=a-b;  a=a-c;  a=a^(c >> 12);
-	b=b-c;  b=b-a;  b=b^(a << 16);
-	c=c-a;  c=c-b;  c=c^(b >> 5);
-	a=a-b;  a=a-c;  a=a^(c >> 3);
-	b=b-c;  b=b-a;  b=b^(a << 10);
-	c=c-a;  c=c-b;  c=c^(b >> 15);
-
-	return c;
-}
-
-static void init_rand(void)
-{
-	MutexLocker locker(&g_mutex);
-
-	if(!s_secure_rand_init)
-	{
-		srand(static_cast<unsigned int>(time(NULL)));
-
-		HMODULE advapi32 = GetModuleHandle(_T("Advapi32.dll"));
-		if(advapi32)
-		{
-			s_secure_rand = reinterpret_cast<secure_rand_t>(GetProcAddress(advapi32, "SystemFunction036"));
-		}
-
-		s_secure_rand_init = true;
-	}
-}
-
-static unsigned int next_rand(void)
-{
-	init_rand();
-
-	if(s_secure_rand)
-	{
-		unsigned int rnd;
-		if(s_secure_rand(&rnd, sizeof(unsigned int)))
-		{
-			return rnd;
-		}
-	}
-
-	unsigned int x = (RAND_MAX * static_cast<unsigned int>(rand())) + static_cast<unsigned int>(rand());
-	unsigned int y = (RAND_MAX * static_cast<unsigned int>(rand())) + static_cast<unsigned int>(rand());
-	unsigned int z = (RAND_MAX * static_cast<unsigned int>(rand())) + static_cast<unsigned int>(rand());
-	
-	return mix_function(x, y, z);
-}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.cpp b/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.cpp
deleted file mode 100644
index b929ba3..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.cpp
+++ /dev/null
@@ -1,189 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#include "ShellExecAsUser.h"
-#include "UnicodeSupport.h"
-#include "msvc_utils.h"
-
-#include <exdisp.h>
-#include <Shobjidl.h>
-#include <Shlwapi.h>
-#include <SHLGUID.h>
-
-///////////////////////////////////////////////////////////////////////////////
-
-#include "ComUtils.h"
-
-typedef struct
-{
-	const TCHAR *pcOperation;
-	const TCHAR *pcFileName;
-	const TCHAR *pcParameters;
-	const HWND parentHwnd;
-	int returnValue;
-}
-threadParam_t;
-
-///////////////////////////////////////////////////////////////////////////////
-
-static unsigned __stdcall ShellExecAsUser_ThreadHelperProc(void* pArguments)
-{
-	HRESULT hr = CoInitialize(NULL);
-	if((hr == S_OK) || (hr == S_FALSE))
-	{
-		if(threadParam_t *params = (threadParam_t*) pArguments)
-		{
-			params->returnValue = ShellExecAsUser(params->pcOperation, params->pcFileName, params->pcParameters, params->parentHwnd, false);
-		}
-		DispatchPendingMessages(1000); //Required to avoid potential deadlock or crash on CoUninitialize() !!!
-		CoUninitialize();
-	}
-	else
-	{
-		if(threadParam_t *params = (threadParam_t*) pArguments)
-		{
-			params->returnValue = -1;
-		}
-	}
-
-	return EXIT_SUCCESS;
-}
-
-static int ShellExecAsUser_ShellDispatchProc(const TCHAR *pcOperation, const TCHAR *pcFileName, const TCHAR *pcParameters, const HWND parentHwnd)
-{
-	int iSuccess = -1;
-
-	IShellWindows *psw = NULL;
-	HRESULT hr = CoCreateInstance(CLSID_ShellWindows, NULL, CLSCTX_LOCAL_SERVER, IID_PPV_ARGS(&psw));
-	if(SUCCEEDED(hr))
-	{
-		HWND hwnd = 0;
-		IDispatch* pdisp = NULL;
-		variant_t vEmpty;
-		if(S_OK == psw->FindWindowSW(vEmpty, vEmpty, SWC_DESKTOP, (long*)&hwnd, SWFO_NEEDDISPATCH, &pdisp))
-		{
-			if((hwnd != NULL) && (hwnd != INVALID_HANDLE_VALUE))
-			{
-				IShellBrowser *psb;
-				hr = IUnknown_QueryService(pdisp, SID_STopLevelBrowser, IID_PPV_ARGS(&psb));
-				if(SUCCEEDED(hr))
-				{
-					IShellView *psv = NULL;
-					hr = psb->QueryActiveShellView(&psv);
-					if(SUCCEEDED(hr))
-					{
-						IDispatch *pdispBackground = NULL;
-						HRESULT hr = psv->GetItemObject(SVGIO_BACKGROUND, IID_PPV_ARGS(&pdispBackground));
-						if (SUCCEEDED(hr))
-						{
-							IShellFolderViewDual *psfvd = NULL;
-							hr = pdispBackground->QueryInterface(IID_PPV_ARGS(&psfvd));
-							if (SUCCEEDED(hr))
-							{
-								IDispatch *pdisp = NULL;
-								hr = psfvd->get_Application(&pdisp);
-								if (SUCCEEDED(hr))
-								{
-									IShellDispatch2 *psd;
-									hr = pdisp->QueryInterface(IID_PPV_ARGS(&psd));
-									if(SUCCEEDED(hr))
-									{
-										DispatchPendingMessages(125);
-										variant_t verb(pcOperation);
-										variant_t file(pcFileName);
-										variant_t para(pcParameters);
-										variant_t show(SW_SHOWNORMAL);
-										hr = psd->ShellExecute(file, para, vEmpty, verb, show);
-										if(SUCCEEDED(hr)) iSuccess = 1;
-										psd->Release();
-										psd = NULL;
-									}
-									pdisp->Release();
-									pdisp = NULL;
-								}
-							}
-							pdispBackground->Release();
-							pdispBackground = NULL;
-						}
-						psv->Release();
-						psv = NULL;
-					}
-					psb->Release();
-					psb = NULL;
-				}
-			}
-			pdisp->Release();
-			pdisp = NULL;
-		}
-		psw->Release();
-		psw = NULL;
-	}
-
-	return iSuccess;
-}
-
-int ShellExecAsUser(const TCHAR *pcOperation, const TCHAR *pcFileName, const TCHAR *pcParameters, const HWND parentHwnd, const bool threaded)
-{
-	int iSuccess = -1;
-
-	OSVERSIONINFO osVersion;
-	memset(&osVersion, 0, sizeof(OSVERSIONINFO));
-	osVersion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-	
-	if(GetVersionEx(&osVersion))
-	{
-		if((osVersion.dwPlatformId == VER_PLATFORM_WIN32_NT) && (osVersion.dwMajorVersion >= 6))
-		{
-			if(threaded)
-			{
-				threadParam_t threadParams = {pcOperation, pcFileName, pcParameters, parentHwnd, -1};
-				HANDLE hThread = (HANDLE) _beginthreadex(NULL, 0, ShellExecAsUser_ThreadHelperProc, &threadParams, 0, NULL);
-				if((hThread != NULL) && (hThread != INVALID_HANDLE_VALUE))
-				{
-					DWORD status = WaitForSingleObject(hThread, 30000);
-					if(status == WAIT_OBJECT_0)
-					{
-						iSuccess = threadParams.returnValue;
-					}
-					else if(status == WAIT_TIMEOUT)
-					{
-						iSuccess = -2;
-						TerminateThread(hThread, EXIT_FAILURE);
-					}
-					CloseHandle(hThread);
-					return iSuccess;
-				}
-			}
-			else
-			{
-				iSuccess = ShellExecAsUser_ShellDispatchProc(pcOperation, pcFileName, pcParameters, parentHwnd);
-			}
-		}
-	}
-	
-	if(iSuccess < 1)
-	{
-		HINSTANCE hInst = ShellExecute(parentHwnd, pcOperation, pcFileName, pcParameters, NULL, SW_SHOWNORMAL);
-		if(((int)hInst) > 32) iSuccess = 0;
-	}
-
-	return iSuccess;
-}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.h b/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.h
deleted file mode 100644
index 9cb0812..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/ShellExecAsUser.h
+++ /dev/null
@@ -1,26 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _WINDOWS_
-#include <Windows.h>
-#endif
-
-int ShellExecAsUser(const TCHAR *pcOperation, const TCHAR *pcFileName, const TCHAR *pcParameters, const HWND hwnd, const bool threaded = true);
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.aps b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.aps
deleted file mode 100644
index b1d4fd7..0000000
Binary files a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.aps and /dev/null differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.cpp b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.cpp
deleted file mode 100644
index fc861c5..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.cpp
+++ /dev/null
@@ -1,921 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#include "StdUtils.h"
-#include "ShellExecAsUser.h"
-#include "ParameterParser.h"
-#include "InvokeShellVerb.h"
-#include "UnicodeSupport.h"
-#include "DetectOsVersion.h"
-
-HANDLE g_hInstance;
-bool g_bCallbackRegistred;
-bool g_bVerbose;
-
-RTL_CRITICAL_SECTION g_mutex;
-
-///////////////////////////////////////////////////////////////////////////////
-// DLL MAIN
-///////////////////////////////////////////////////////////////////////////////
-
-BOOL WINAPI DllMain(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
-{
-	if(ul_reason_for_call == DLL_PROCESS_ATTACH)
-	{
-		InitializeCriticalSection(&g_mutex);
-		g_hInstance = hInst;
-		g_bCallbackRegistred = false;
-		g_bVerbose = false;
-	}
-	else if(ul_reason_for_call == DLL_PROCESS_DETACH)
-	{
-		DeleteCriticalSection(&g_mutex);
-	}
-	return TRUE;
-}
-
-static UINT_PTR PluginCallback(enum NSPIM msg)
-{
-	switch(msg)
-	{
-	case NSPIM_UNLOAD:
-	case NSPIM_GUIUNLOAD:
-		break;
-	default:
-		MessageBoxA(NULL, "Unknown callback message. Take care!", "StdUtils", MB_ICONWARNING|MB_TOPMOST|MB_TASKMODAL);
-		break;
-	}
-
-	return 0;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// TIME UTILS
-///////////////////////////////////////////////////////////////////////////////
-
-static const unsigned __int64 FTIME_SECOND = 10000000ui64;
-static const unsigned __int64 FTIME_MINUTE = 60ui64 * FTIME_SECOND;
-static const unsigned __int64 FTIME_HOUR   = 60ui64 * FTIME_MINUTE;
-static const unsigned __int64 FTIME_DAY    = 24ui64 * FTIME_HOUR;
-
-static unsigned __int64 getFileTime(void)
-{
-	SYSTEMTIME systime;
-	GetSystemTime(&systime);
-	
-	FILETIME filetime;
-	if(!SystemTimeToFileTime(&systime, &filetime))
-	{
-		return 0;
-	}
-
-	ULARGE_INTEGER uli;
-	uli.LowPart = filetime.dwLowDateTime;
-	uli.HighPart = filetime.dwHighDateTime;
-
-	return uli.QuadPart;
-}
-
-NSISFUNC(Time)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	long t = time(NULL);
-	pushint(t);
-}
-
-NSISFUNC(GetMinutes)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	unsigned __int64 ftime = getFileTime() / FTIME_MINUTE;
-	pushint(static_cast<int>(ftime));
-}
-
-NSISFUNC(GetHours)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	unsigned __int64 ftime = getFileTime() / FTIME_HOUR;
-	pushint(static_cast<int>(ftime));
-}
-
-NSISFUNC(GetDays)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	unsigned __int64 ftime = getFileTime() / FTIME_DAY;
-	pushint(static_cast<int>(ftime));
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// PRNG FUNCTIONS
-///////////////////////////////////////////////////////////////////////////////
-
-#include "RandUtils.h"
-
-NSISFUNC(Rand)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	unsigned int r = next_rand() % static_cast<unsigned int>(INT_MAX);
-	pushint(r);
-}
-
-NSISFUNC(RandMax)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	int m = abs(popint()) + 1;
-	unsigned int r = next_rand() % static_cast<unsigned int>(m);
-	pushint(r);
-}
-
-NSISFUNC(RandMinMax)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	int max = popint();
-	int min = popint();
-	
-	if(min > max)
-	{
-		MessageBoxW(NULL, L"RandMinMax() was called with bad arguments!", L"StdUtils::RandMinMax", MB_ICONERROR | MB_TASKMODAL);
-		pushint(0);
-	}
-
-	int diff = abs(max - min) + 1;
-	unsigned int r = next_rand() % static_cast<unsigned int>(diff);
-	pushint(r + min);
-}
-
-NSISFUNC(RandList)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	int count = popint();
-	int max = popint() + 1;
-	int done = 0;
-
-	if(count > max)
-	{
-		if(g_bVerbose)
-		{
-			MessageBoxW(NULL, L"RandList() was called with bad arguments!", L"StdUtils::RandList", MB_ICONERROR | MB_TASKMODAL);
-		}
-		pushstring(T("EOL"));
-		return;
-	}
-
-	bool *list = new bool[max];
-	for(int idx = 0; idx < max; idx++)
-	{
-		list[idx] = false;
-	}
-
-	while(done < count)
-	{
-		unsigned int rnd = next_rand() % static_cast<unsigned int>(max);
-		if(!list[rnd])
-		{
-			list[rnd] = true;
-			done++;
-		}
-	}
-
-	pushstring(T("EOL"));
-	for(int idx = max-1; idx >= 0; idx--)
-	{
-		if(list[idx])
-		{
-			pushint(idx);
-		}
-	}
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// STRING FUNCTIONS
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(FormatStr)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(fmt, g_stringsize);
-	MAKESTR(out, g_stringsize);
-
-	int v = popint();
-	popstringn(fmt, 0);
-
-	if(SNPRINTF(out, g_stringsize, fmt, v) < 0)
-	{
-		out[g_stringsize-1] = T('\0');
-	}
-
-	pushstring(out);
-	delete [] fmt;
-	delete [] out;
-}
-
-NSISFUNC(FormatStr2)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(fmt, g_stringsize);
-	MAKESTR(out, g_stringsize);
-
-	int v2 = popint();
-	int v1 = popint();
-	popstringn(fmt, 0);
-
-	if(SNPRINTF(out, g_stringsize, fmt, v1, v2) < 0)
-	{
-		out[g_stringsize-1] = T('\0');
-	}
-
-	pushstring(out);
-	delete [] fmt;
-	delete [] out;
-}
-
-NSISFUNC(FormatStr3)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(fmt, g_stringsize);
-	MAKESTR(out, g_stringsize);
-
-	int v3 = popint();
-	int v2 = popint();
-	int v1 = popint();
-	popstringn(fmt, 0);
-
-	if(SNPRINTF(out, g_stringsize, fmt, v1, v2, v3) < 0)
-	{
-		out[g_stringsize-1] = T('\0');
-	}
-
-	pushstring(out);
-	delete [] fmt;
-	delete [] out;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(ScanStr)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(in, g_stringsize);
-	MAKESTR(fmt, g_stringsize);
-
-	int def = popint();
-	popstringn(in, 0);
-	popstringn(fmt, 0);
-	int out = 0;
-
-	if(SSCANF(in, fmt, &out) != 1)
-	{
-		out = def;
-	}
-
-	pushint(out);
-	delete [] fmt;
-	delete [] in;
-}
-
-NSISFUNC(ScanStr2)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(in, g_stringsize);
-	MAKESTR(fmt, g_stringsize);
-
-	int def2 = popint();
-	int def1 = popint();
-	popstringn(in, 0);
-	popstringn(fmt, 0);
-	int out1 = 0;
-	int out2 = 0;
-	int result = 0;
-
-	result = SSCANF(in, fmt, &out1, &out2);
-	
-	if(result != 2)
-	{
-		if(result != 1)
-		{
-			out1 = def1;
-		}
-		out2 = def2;
-	}
-
-	pushint(out2);
-	pushint(out1);
-	delete [] fmt;
-	delete [] in;
-}
-
-NSISFUNC(ScanStr3)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(in, g_stringsize);
-	MAKESTR(fmt, g_stringsize);
-
-	int def3 = popint();
-	int def2 = popint();
-	int def1 = popint();
-	popstringn(in, 0);
-	popstringn(fmt, 0);
-	int out1 = 0;
-	int out2 = 0;
-	int out3 = 0;
-	int result = 0;
-
-	result = SSCANF(in, fmt, &out1, &out2, &out3);
-	
-	if(result != 3)
-	{
-		if(result == 0)
-		{
-			out1 = def1;
-			out2 = def2;
-		}
-		else if(result == 1)
-		{
-			out2 = def2;
-		}
-		out3 = def3;
-	}
-
-	pushint(out3);
-	pushint(out2);
-	pushint(out1);
-	delete [] fmt;
-	delete [] in;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(TrimStr)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(str, g_stringsize);
-	
-	popstringn(str, 0);
-	pushstring(STRTRIM(str));
-
-	delete [] str;
-}
-
-NSISFUNC(TrimStrLeft)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(str, g_stringsize);
-	
-	popstringn(str, 0);
-	pushstring(STRTRIM(str, true, false));
-
-	delete [] str;
-}
-
-NSISFUNC(TrimStrRight)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(str, g_stringsize);
-	
-	popstringn(str, 0);
-	pushstring(STRTRIM(str, false, true));
-
-	delete [] str;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(RevStr)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(str, g_stringsize);
-	
-	popstringn(str, 0);
-
-	if(str[0] != T('\0'))
-	{
-		size_t left = 0;
-		size_t right = STRLEN(str) - 1;
-		while(left < right)
-		{
-			TCHAR tmp = str[left];
-			str[left++] = str[right];
-			str[right--] = tmp;
-		}
-	}
-
-	pushstring(str);
-	delete [] str;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// SHELL FILE FUNCTIONS
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(SHFileMove)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(from, g_stringsize);
-	MAKESTR(dest, g_stringsize);
-
-	SHFILEOPSTRUCT fileop;
-	SecureZeroMemory(&fileop, sizeof(SHFILEOPSTRUCT));
-
-	HWND hwnd = (HWND) popint();
-	popstringn(dest, 0);
-	popstringn(from, 0);
-
-	fileop.hwnd = hwnd;
-	fileop.wFunc = FO_MOVE;
-	fileop.pFrom = from;
-	fileop.pTo = dest;
-	fileop.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR;
-	if(hwnd == 0) fileop.fFlags |= FOF_SILENT;
-
-	int result = SHFileOperation(&fileop);
-	pushstring((result == 0) ? (fileop.fAnyOperationsAborted ? T("ABORTED") : T("OK")) : T("ERROR"));
-
-	if((result != 0) && g_bVerbose)
-	{
-		char temp[1024];
-		_snprintf(temp, 1024, "Failed with error code: 0x%X", result);
-		temp[1023] = '\0';
-		MessageBoxA(NULL, temp, "StdUtils::SHFileMove", MB_TOPMOST|MB_ICONERROR);
-	}
-
-	delete [] from;
-	delete [] dest;
-}
-
-NSISFUNC(SHFileCopy)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(from, g_stringsize);
-	MAKESTR(dest, g_stringsize);
-
-	SHFILEOPSTRUCT fileop;
-	SecureZeroMemory(&fileop, sizeof(SHFILEOPSTRUCT));
-
-	HWND hwnd = (HWND) popint();
-	popstringn(dest, 0);
-	popstringn(from, 0);
-
-	fileop.hwnd = hwnd;
-	fileop.wFunc = FO_COPY;
-	fileop.pFrom = from;
-	fileop.pTo = dest;
-	fileop.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR;
-	if(hwnd == 0) fileop.fFlags |= FOF_SILENT;
-
-	int result = SHFileOperation(&fileop);
-	pushstring((result == 0) ? (fileop.fAnyOperationsAborted ? T("ABORTED") : T("OK")) : T("ERROR"));
-
-	if((result != 0) && g_bVerbose)
-	{
-		char temp[1024];
-		_snprintf(temp, 1024, "Failed with error code: 0x%X", result);
-		temp[1023] = '\0';
-		MessageBoxA(NULL, temp, "StdUtils::SHFileCopy", MB_TOPMOST|MB_ICONERROR);
-	}
-
-	delete [] from;
-	delete [] dest;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// EXEC SHELL AS USER
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(ExecShellAsUser)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(file, g_stringsize);
-	MAKESTR(verb, g_stringsize);
-	MAKESTR(args, g_stringsize);
-
-	popstringn(args, 0);
-	popstringn(verb, 0);
-	popstringn(file, 0);
-	
-	if(_tcslen(file) < 1) { delete [] file; file = NULL; }
-	if(_tcslen(verb) < 1) { delete [] verb; verb = NULL; }
-	if(_tcslen(args) < 1) { delete [] args; args = NULL; }
-
-	if(!(file))
-	{
-		pushstring(T("einval"));
-		if(file) delete [] file;
-		if(verb) delete [] verb;
-		if(args) delete [] args;
-		return;
-	}
-
-	int result = ShellExecAsUser(verb, file, args, hWndParent, true);
-	
-	switch(result)
-	{
-	case 1:
-		pushstring(T("ok"));
-		break;
-	case 0:
-		pushstring(T("fallback"));
-		break;
-	case -1:
-		pushstring(T("error"));
-		break;
-	case -2:
-		pushstring(T("timeout"));
-		break;
-	default:
-		pushstring(T("unknown"));
-		break;
-	}
-
-	if(file) delete [] file;
-	if(verb) delete [] verb;
-	if(args) delete [] args;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// INVOKE SHELL VERB
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(InvokeShellVerb)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(path, g_stringsize);
-	MAKESTR(file, g_stringsize);
-
-	int verb = popint();
-	popstringn(file, 0);
-	popstringn(path, 0);
-	
-	if(_tcslen(file) < 1) { delete [] file; file = NULL; }
-	if(_tcslen(path) < 1) { delete [] path; path = NULL; }
-
-	if(!(file && path))
-	{
-		pushstring(T("einval"));
-		if(file) delete [] file;
-		if(path) delete [] path;
-		return;
-	}
-
-	int result = MyInvokeShellVerb(path, file, verb, true);
-	
-	switch(result)
-	{
-	case 1:
-		pushstring(T("ok"));
-		break;
-	case 0:
-		pushstring(T("not_found"));
-		break;
-	case -1:
-		pushstring(T("unsupported"));
-		break;
-	case -2:
-		pushstring(T("timeout"));
-		break;
-	case -3:
-		pushstring(T("error"));
-		break;
-	default:
-		pushstring(T("unknown"));
-		break;
-	}
-
-	if(file) delete [] file;
-	if(path) delete [] path;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// EXEC SHELL WAIT
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(ExecShellWaitEx)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(file, g_stringsize);
-	MAKESTR(verb, g_stringsize);
-	MAKESTR(args, g_stringsize);
-	
-	popstringn(args, 0);
-	popstringn(verb, 0);
-	popstringn(file, 0);
-
-	SHELLEXECUTEINFO shInfo;
-	memset(&shInfo, 0, sizeof(SHELLEXECUTEINFO));
-	shInfo.cbSize = sizeof(SHELLEXECUTEINFO);
-	shInfo.hwnd = hWndParent;
-	shInfo.fMask = SEE_MASK_NOASYNC | SEE_MASK_NOCLOSEPROCESS;
-	shInfo.lpFile = file;
-	shInfo.lpVerb = (_tcslen(verb) > 0) ? verb : NULL;
-	shInfo.lpParameters = (_tcslen(args) > 0) ? args : NULL;
-	shInfo.nShow = SW_SHOWNORMAL;
-
-	if(ShellExecuteEx(&shInfo) != FALSE)
-	{
-		if((shInfo.hProcess != NULL) && (shInfo.hProcess != INVALID_HANDLE_VALUE))
-		{
-			TCHAR out[32];
-			SNPRINTF(out, 32, T("hProc:%08X"), shInfo.hProcess);
-			pushstring(out);
-			pushstring(_T("ok"));
-		}
-		else
-		{
-			pushint(0);
-			pushstring(T("no_wait"));
-		}
-	}
-	else
-	{
-		pushint(GetLastError());
-		pushstring(T("error"));
-	}
-
-	delete [] file;
-	delete [] verb;
-	delete [] args;
-}
-
-NSISFUNC(WaitForProcEx)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(temp, g_stringsize);
-	popstringn(temp, 0);
-
-	HANDLE hProc = NULL;
-	int result = SSCANF(temp, T("hProc:%X"), &hProc);
-
-	DWORD dwExitCode = 0;
-	bool success = false;
-
-	if(result == 1)
-	{
-		if(hProc != NULL)
-		{
-			if(WaitForSingleObject(hProc, INFINITE) == WAIT_OBJECT_0)
-			{
-				success = (GetExitCodeProcess(hProc, &dwExitCode) != FALSE);
-			}
-			CloseHandle(hProc);
-		}
-	}
-
-	if(success)
-	{
-		pushint(dwExitCode);
-	}
-	else
-	{
-		pushstring(T("error"));
-	}
-
-	delete [] temp;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-// GET COMMAND-LINE PARAMS
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(GetParameter)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	MAKESTR(aval, g_stringsize);
-	MAKESTR(name, g_stringsize);
-
-	popstringn(aval, 0);
-	popstringn(name, 0);
-	parse_commandline(name, aval, g_stringsize);
-	pushstring(aval);
-
-	delete [] aval;
-	delete [] name;
-}
-
-NSISFUNC(GetAllParameters)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	int truncate = popint();
-	const TCHAR *cmd = get_commandline_arguments();
-
-	if((STRLEN(cmd) < g_stringsize) || truncate)
-	{
-		pushstring(cmd);
-	}
-	else
-	{
-		pushstring(T("too_long"));
-	}
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// GET REAL OS VERSION
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(GetRealOsVersion)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-
-	bool flag;
-	unsigned int version[3];
-
-	if(get_real_os_version(&version[0], &version[1], &version[2], &flag))
-	{
-		pushint(version[2]);
-		pushint(version[1]);
-		pushint(version[0]);
-	}
-	else
-	{
-		pushstring(T("error"));
-		pushstring(T("error"));
-		pushstring(T("error"));
-	}
-}
-
-NSISFUNC(GetRealOsBuildNo)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-
-	bool flag;
-	unsigned int buildNumber;
-
-	if(get_real_os_buildNo(&buildNumber, &flag))
-	{
-		pushint(buildNumber);
-	}
-	else
-	{
-		pushstring(T("error"));
-	}
-}
-
-NSISFUNC(VerifyRealOsVersion)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-
-	bool flag;
-	unsigned int expectedVersion[3];
-	unsigned int detectedVersion[3];
-
-	expectedVersion[2] = abs(popint());
-	expectedVersion[1] = abs(popint());
-	expectedVersion[0] = abs(popint());
-
-	if(!get_real_os_version(&detectedVersion[0], &detectedVersion[1], &detectedVersion[2], &flag))
-	{
-		pushstring(T("error"));
-		return;
-	}
-
-	//Majaor version
-	for(size_t i = 0; i < 3; i++)
-	{
-		if(detectedVersion[i] > expectedVersion[i])
-		{
-			pushstring(T("newer"));
-			return;
-		}
-		if(detectedVersion[i] < expectedVersion[i])
-		{
-			pushstring(T("older"));
-			return;
-		}
-	}
-
-	pushstring(T("ok"));
-}
-
-NSISFUNC(VerifyRealOsBuildNo)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-
-	bool flag;
-	unsigned int expectedBuildNo;
-	unsigned int detectedBuildNo;
-
-	expectedBuildNo = abs(popint());
-	
-	if(!get_real_os_buildNo(&detectedBuildNo, &flag))
-	{
-		pushstring(T("error"));
-		return;
-	}
-
-	if(detectedBuildNo > expectedBuildNo)
-	{
-		pushstring(T("newer"));
-		return;
-	}
-	if(detectedBuildNo < expectedBuildNo)
-	{
-		pushstring(T("older"));
-		return;
-	}
-
-	pushstring(T("ok"));
-}
-
-NSISFUNC(GetRealOsName)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-
-	bool flag;
-	unsigned int detectedVersion[3];
-
-	if(!get_real_os_version(&detectedVersion[0], &detectedVersion[1], &detectedVersion[2], &flag))
-	{
-		pushstring(T("error"));
-		return;
-	}
-
-	pushstring(get_os_friendly_name(detectedVersion[0], detectedVersion[1]));
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// FOR DEBUGGING
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(EnableVerboseMode)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	g_bVerbose = true;
-}
-
-NSISFUNC(DisableVerboseMode)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	g_bVerbose = false;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-#include "resource.h"
-
-static const TCHAR *dllTimeStamp = T(__TIMESTAMP__);
-static const TCHAR *dllVerString = T(DLL_VERSION_STRING);
-
-NSISFUNC(GetLibVersion)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-	pushstring(dllTimeStamp);
-	pushstring(dllVerString);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-NSISFUNC(Dummy)
-{
-	EXDLL_INIT();
-	REGSITER_CALLBACK(g_hInstance);
-}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.h b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.h
deleted file mode 100644
index e7da416..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.h
+++ /dev/null
@@ -1,43 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef __STDUTILS_H__
-#define __STDUTILS_H__
-
-#define WIN32_LEAN_AND_MEAN
-#include <Windows.h>
-#include <Shellapi.h>
-#include "nsis\pluginapi.h"
-#include "msvc_utils.h"
-
-#define NSISFUNC(name) extern "C" void __declspec(dllexport) name(HWND hWndParent, int string_size, TCHAR* variables, stack_t** stacktop, extra_parameters* extra)
-
-#define MAKESTR(VAR,LEN) \
-	TCHAR *VAR = new TCHAR[LEN]; \
-	memset(VAR, 0, sizeof(TCHAR) * LEN)
-
-#define REGSITER_CALLBACK(INST) do \
-{ \
-	if(!g_bCallbackRegistred) g_bCallbackRegistred = (extra->RegisterPluginCallback((HMODULE)INST, PluginCallback) == 0); \
-} \
-while(0)
-
-#endif //__STDUTILS_H__
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.rc b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.rc
deleted file mode 100644
index ece4a0d..0000000
Binary files a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.rc and /dev/null differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.sln b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.sln
deleted file mode 100644
index ba8c786..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.sln
+++ /dev/null
@@ -1,22 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StdUtils", "StdUtils.vcxproj", "{970880F8-9482-4AF1-995D-5E0E7207B0A5}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Release_ANSI|Win32 = Release_ANSI|Win32
-		Release_Unicode|Win32 = Release_Unicode|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Debug|Win32.ActiveCfg = Debug|Win32
-		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Debug|Win32.Build.0 = Debug|Win32
-		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_ANSI|Win32.ActiveCfg = Release_ANSI|Win32
-		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_ANSI|Win32.Build.0 = Release_ANSI|Win32
-		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_Unicode|Win32.ActiveCfg = Release_Unicode|Win32
-		{970880F8-9482-4AF1-995D-5E0E7207B0A5}.Release_Unicode|Win32.Build.0 = Release_Unicode|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj
deleted file mode 100644
index 56cfc98..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj
+++ /dev/null
@@ -1,205 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release_Unicode|Win32">
-      <Configuration>Release_Unicode</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release_ANSI|Win32">
-      <Configuration>Release_ANSI</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{970880F8-9482-4AF1-995D-5E0E7207B0A5}</ProjectGuid>
-    <ProjectName>StdUtils</ProjectName>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>Windows7.1SDK</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release Unicode|Win32'">
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</GenerateManifest>
-    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">false</GenerateManifest>
-    <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">false</GenerateManifest>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)obj\$(Configuration)\</IntDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">$(SolutionDir)obj\$(Configuration)\</IntDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">$(SolutionDir)obj\$(Configuration)\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\..\Plugins\$(Configuration)\</OutDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">$(SolutionDir)..\..\Plugins\$(Configuration)\</OutDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">$(SolutionDir)..\..\Plugins\$(Configuration)\</OutDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <HeaderFileName>
-      </HeaderFileName>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <BufferSecurityCheck>false</BufferSecurityCheck>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <AdditionalIncludeDirectories>$(SolutionDir)\include\common;$(SolutionDir)\include\unicode;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <Link>
-      <AdditionalDependencies>nsis_pluginapi_unicode.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-      <IgnoreSpecificDefaultLibraries>
-      </IgnoreSpecificDefaultLibraries>
-      <ImportLibrary>$(IntDir)\$(ProjectName).lib</ImportLibrary>
-      <AdditionalLibraryDirectories>$(SolutionDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_Unicode|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <HeaderFileName>
-      </HeaderFileName>
-    </Midl>
-    <ClCompile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <BufferSecurityCheck>false</BufferSecurityCheck>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>Full</Optimization>
-      <AdditionalIncludeDirectories>$(SolutionDir)\include\common;$(SolutionDir)\include\unicode;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <ExceptionHandling>false</ExceptionHandling>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <Link>
-      <AdditionalDependencies>nsis_pluginapi_unicode.lib;msvcrt_vc6.lib;Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
-      <EntryPointSymbol>DllMain</EntryPointSymbol>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-      <GenerateDebugInformation>false</GenerateDebugInformation>
-      <ImportLibrary>$(IntDir)\$(ProjectName).lib</ImportLibrary>
-      <AdditionalLibraryDirectories>$(SolutionDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <MinimumRequiredVersion>5.0</MinimumRequiredVersion>
-      <SubSystem>Console</SubSystem>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_ANSI|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <HeaderFileName>
-      </HeaderFileName>
-    </Midl>
-    <ClCompile>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <BufferSecurityCheck>false</BufferSecurityCheck>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>Full</Optimization>
-      <AdditionalIncludeDirectories>$(SolutionDir)\include\common;$(SolutionDir)\include\ansi;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <ExceptionHandling>false</ExceptionHandling>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-    </ResourceCompile>
-    <Link>
-      <AdditionalDependencies>nsis_pluginapi_ansi.lib;msvcrt_vc6.lib;Shlwapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
-      <EntryPointSymbol>DllMain</EntryPointSymbol>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <TargetMachine>MachineX86</TargetMachine>
-      <GenerateDebugInformation>false</GenerateDebugInformation>
-      <ImportLibrary>$(IntDir)\$(ProjectName).lib</ImportLibrary>
-      <AdditionalLibraryDirectories>$(SolutionDir)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <SubSystem>Console</SubSystem>
-      <MinimumRequiredVersion>5.0</MinimumRequiredVersion>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="DetectOsVersion.cpp" />
-    <ClCompile Include="InvokeShellVerb.cpp" />
-    <ClCompile Include="ParameterParser.cpp" />
-    <ClCompile Include="ShellExecAsUser.cpp" />
-    <ClCompile Include="StdUtils.cpp">
-      <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
-      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
-    </ClCompile>
-    <ClCompile Include="UnicodeSupport.cpp" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="DetectOsVersion.h" />
-    <ClInclude Include="InvokeShellVerb.h" />
-    <ClInclude Include="ParameterParser.h" />
-    <ClInclude Include="RandUtils.h" />
-    <ClInclude Include="ShellExecAsUser.h" />
-    <ClInclude Include="StdUtils.h" />
-    <ClInclude Include="resource.h" />
-    <ClInclude Include="UnicodeSupport.h" />
-    <ClInclude Include="ComUtils.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="StdUtils.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.filters b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.filters
deleted file mode 100644
index 671dc5e..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.filters
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <ClCompile Include="DetectOsVersion.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="InvokeShellVerb.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ParameterParser.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ShellExecAsUser.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="UnicodeSupport.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="StdUtils.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="UnicodeSupport.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ShellExecAsUser.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="resource.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="RandUtils.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ParameterParser.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="InvokeShellVerb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="DetectOsVersion.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ComUtils.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="StdUtils.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="StdUtils.rc" />
-  </ItemGroup>
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{7c93e62c-ed44-4c3a-a941-8ed82d3bea7b}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{3f8a68cf-c183-4be6-80f4-6fe86b2e15f0}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.user b/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.user
deleted file mode 100644
index cfbfe9d..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/StdUtils.vcxproj.user
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LocalDebuggerCommand>C:\Program Files (x86)\NSIS\Projects\Aero\Examples\Aero\TestModernUI.exe</LocalDebuggerCommand>
-    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.cpp b/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.cpp
deleted file mode 100644
index 92d1b9d..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#include <Windows.h>
-
-wchar_t *ansi_to_utf16(const char *input)
-{
-	wchar_t *Buffer;
-	int BuffSize, Result;
-	BuffSize = MultiByteToWideChar(CP_ACP, 0, input, -1, NULL, 0);
-	if(BuffSize > 0)
-	{
-		Buffer = new wchar_t[BuffSize];
-		Result = MultiByteToWideChar(CP_UTF8, 0, input, -1, Buffer, BuffSize);
-		return ((Result > 0) && (Result <= BuffSize)) ? Buffer : NULL;
-	}
-	return NULL;
-}
-
-wchar_t *utf8_to_utf16(const char *input)
-{
-	wchar_t *Buffer;
-	int BuffSize, Result;
-	BuffSize = MultiByteToWideChar(CP_UTF8, 0, input, -1, NULL, 0);
-	if(BuffSize > 0)
-	{
-		Buffer = new wchar_t[BuffSize];
-		Result = MultiByteToWideChar(CP_UTF8, 0, input, -1, Buffer, BuffSize);
-		return ((Result > 0) && (Result <= BuffSize)) ? Buffer : NULL;
-	}
-	return NULL;
-}
-
-inline static bool is_whitespace(const char c)
-{
-	return (c == ' ') || (c == '\t') || (c == '\n') || (c == '\r');
-}
-
-inline static bool is_whitespace(const wchar_t c)
-{
-	return (c == L' ') || (c == L'\t') || (c == L'\n') || (c == L'\r');
-}
-
-char *strtrim(char* input, bool trim_left, bool trim_right)
-{
-	size_t left = 0;
-
-	if(trim_right && (input[0] != '\0'))
-	{
-		size_t right = strlen(input) - 1;
-		while((right > 0) && is_whitespace(input[right])) input[right--] = '\0';
-		if(is_whitespace(input[right])) input[right] = '\0';
-	}
-	if(trim_left && (input[0] != '\0'))
-	{
-		while(is_whitespace(input[left])) left++;
-	}
-
-	return &input[left];
-}
-
-wchar_t *wcstrim(wchar_t* input, bool trim_left, bool trim_right)
-{
-	size_t left = 0;
-
-	if(trim_right && (input[0] != L'\0'))
-	{
-		size_t right = wcslen(input) - 1;
-		while((right > 0) && is_whitespace(input[right])) input[right--] = L'\0';
-		if(is_whitespace(input[right])) input[right] = L'\0';
-	}
-	if(trim_left && (input[0] != L'\0'))
-	{
-		while(is_whitespace(input[left])) left++;
-	}
-
-	return &input[left];
-}
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.h b/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.h
deleted file mode 100644
index 4893078..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/UnicodeSupport.h
+++ /dev/null
@@ -1,47 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-wchar_t *ansi_to_utf16(const char *input);
-wchar_t *utf8_to_utf16(const char *input);
-
-char *strtrim(char* input, bool trim_left = true, bool trim_right = true);
-wchar_t *wcstrim(wchar_t* input, bool trim_left = true, bool trim_right = true);
-
-#ifdef UNICODE
-	#define STRLEN wcslen	
-	#define STRICMP _wcsicmp
-	#define STRNCPY wcsncpy
-	#define STRCHR wcschr
-	#define STRTRIM wcstrim
-	#define SNPRINTF _snwprintf
-	#define SSCANF swscanf
-	#define __T__(X) L##X
-	#define T(X) __T__(X)
-#else
-	#define STRLEN strlen
-	#define STRICMP _stricmp
-	#define STRNCPY strncpy
-	#define STRCHR strchr
-	#define STRTRIM strtrim
-	#define SNPRINTF _snprintf
-	#define SSCANF sscanf
-	#define T(X) X
-#endif
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/api.h b/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/api.h
deleted file mode 100644
index 7418b87..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/api.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * apih
- * 
- * This file is a part of NSIS.
- * 
- * Copyright (C) 1999-2009 Nullsoft and Contributors
- * 
- * Licensed under the zlib/libpng license (the "License");
- * you may not use this file except in compliance with the License.
- * 
- * Licence details can be found in the file COPYING.
- * 
- * This software is provided 'as-is', without any express or implied
- * warranty.
- */
-
-#ifndef _NSIS_EXEHEAD_API_H_
-#define _NSIS_EXEHEAD_API_H_
-
-// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
-// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
-// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
-
-#define NSISPIAPIVER_1_0 0x00010000
-#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
-
-// NSIS Plug-In Callback Messages
-enum NSPIM 
-{
-	NSPIM_UNLOAD,    // This is the last message a plugin gets, do final cleanup
-	NSPIM_GUIUNLOAD, // Called after .onGUIEnd
-};
-
-// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
-// Return NULL for unknown messages
-// Should always be __cdecl for future expansion possibilities
-typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
-
-// extra_parameters data structures containing other interesting stuff
-// but the stack, variables and HWND passed on to plug-ins.
-typedef struct
-{
-  int autoclose;
-  int all_user_var;
-  int exec_error;
-  int abort;
-  int exec_reboot; // NSIS_SUPPORT_REBOOT
-  int reboot_called; // NSIS_SUPPORT_REBOOT
-  int XXX_cur_insttype; // depreacted
-  int plugin_api_version; // see NSISPIAPIVER_CURR
-                          // used to be XXX_insttype_changed
-  int silent; // NSIS_CONFIG_SILENT_SUPPORT
-  int instdir_error;
-  int rtl;
-  int errlvl;
-  int alter_reg_view;
-  int status_update;
-} exec_flags_t;
-
-#ifndef NSISCALL
-#  define NSISCALL __stdcall
-#endif
-
-typedef struct {
-  exec_flags_t *exec_flags;
-  int (NSISCALL *ExecuteCodeSegment)(int, HWND);
-  void (NSISCALL *validate_filename)(char *);
-  int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
-} extra_parameters;
-
-// Definitions for page showing plug-ins
-// See Ui.c to understand better how they're used
-
-// sent to the outer window to tell it to go to the next inner window
-#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
-
-// custom pages should send this message to let NSIS know they're ready
-#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
-
-// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
-#define NOTIFY_BYE_BYE 'x'
-
-#endif /* _PLUGIN_H_ */
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/pluginapi.h b/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/pluginapi.h
deleted file mode 100644
index d288026..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/include/ansi/nsis/pluginapi.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef ___NSIS_PLUGIN__H___
-#define ___NSIS_PLUGIN__H___
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "api.h"
-
-#undef _UNICODE
-#include "..\..\unicode\nsis\nsis_tchar.h"
-
-#ifndef NSISCALL
-#  define NSISCALL __stdcall
-#endif
-
-#define EXDLL_INIT()           {  \
-        g_stringsize=string_size; \
-        g_stacktop=stacktop;      \
-        g_variables=variables; }
-
-typedef struct _stack_t {
-  struct _stack_t *next;
-  char text[1]; // this should be the length of string_size
-} stack_t;
-
-enum
-{
-INST_0,         // $0
-INST_1,         // $1
-INST_2,         // $2
-INST_3,         // $3
-INST_4,         // $4
-INST_5,         // $5
-INST_6,         // $6
-INST_7,         // $7
-INST_8,         // $8
-INST_9,         // $9
-INST_R0,        // $R0
-INST_R1,        // $R1
-INST_R2,        // $R2
-INST_R3,        // $R3
-INST_R4,        // $R4
-INST_R5,        // $R5
-INST_R6,        // $R6
-INST_R7,        // $R7
-INST_R8,        // $R8
-INST_R9,        // $R9
-INST_CMDLINE,   // $CMDLINE
-INST_INSTDIR,   // $INSTDIR
-INST_OUTDIR,    // $OUTDIR
-INST_EXEDIR,    // $EXEDIR
-INST_LANG,      // $LANGUAGE
-__INST_LAST
-};
-
-extern unsigned int g_stringsize;
-extern stack_t **g_stacktop;
-extern char *g_variables;
-
-int NSISCALL popstring(char *str); // 0 on success, 1 on empty stack
-int NSISCALL popstringn(char *str, int maxlen); // with length limit, pass 0 for g_stringsize
-int NSISCALL popint(); // pops an integer
-int NSISCALL popint_or(); // with support for or'ing (2|4|8)
-int NSISCALL myatoi(const char *s); // converts a string to an integer
-unsigned NSISCALL myatou(const char *s); // converts a string to an unsigned integer, decimal only
-int NSISCALL myatoi_or(const char *s); // with support for or'ing (2|4|8)
-void NSISCALL pushstring(const char *str);
-void NSISCALL pushint(int value);
-char * NSISCALL getuservariable(const int varnum);
-void NSISCALL setuservariable(const int varnum, const char *var);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif//!___NSIS_PLUGIN__H___
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/common/msvc_utils.h b/windows/plugins/stdutils/Contrib/StdUtils/include/common/msvc_utils.h
deleted file mode 100644
index 64f04cb..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/include/common/msvc_utils.h
+++ /dev/null
@@ -1,55 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// StdUtils plug-in for NSIS
-// Copyright (C) 2004-2013 LoRd_MuldeR <MuldeR2 at GMX.de>
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-//
-// http://www.gnu.org/licenses/lgpl-2.1.txt
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef __MSVC_FUNC_H__
-#define __MSVC_FUNC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define RAND_MAX 0x7fff
-#define INT_MAX 2147483647
-
-long time(long *time);
-int rand(void);
-void srand(unsigned int _Seed);
-int abs(_In_ int _X);
-
-int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format, ...);
-int _snprintf(char *buffer, size_t count, const char *format, ...);
-int sscanf(const char *input, const char * format, ...);
-int swscanf(const wchar_t *input, const wchar_t * format, ...);
-
-uintptr_t _beginthreadex( 
-	void *security,
-	unsigned stack_size,
-	unsigned (__stdcall *start_address)(void*),
-	void *arglist,
-	unsigned initflag,
-	unsigned *thrdaddr
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif //__MSVC_FUNC_H__
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/api.h b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/api.h
deleted file mode 100644
index bab9522..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/api.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * apih
- * 
- * This file is a part of NSIS.
- * 
- * Copyright (C) 1999-2009 Nullsoft and Contributors
- * 
- * Licensed under the zlib/libpng license (the "License");
- * you may not use this file except in compliance with the License.
- * 
- * Licence details can be found in the file COPYING.
- * 
- * This software is provided 'as-is', without any express or implied
- * warranty.
- */
-
-#ifndef _NSIS_EXEHEAD_API_H_
-#define _NSIS_EXEHEAD_API_H_
-
-// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
-// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
-// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
-
-#define NSISPIAPIVER_1_0 0x00010000
-#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
-
-// NSIS Plug-In Callback Messages
-enum NSPIM 
-{
-	NSPIM_UNLOAD,    // This is the last message a plugin gets, do final cleanup
-	NSPIM_GUIUNLOAD, // Called after .onGUIEnd
-};
-
-// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
-// Return NULL for unknown messages
-// Should always be __cdecl for future expansion possibilities
-typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
-
-// extra_parameters data structures containing other interesting stuff
-// but the stack, variables and HWND passed on to plug-ins.
-typedef struct
-{
-  int autoclose;
-  int all_user_var;
-  int exec_error;
-  int abort;
-  int exec_reboot; // NSIS_SUPPORT_REBOOT
-  int reboot_called; // NSIS_SUPPORT_REBOOT
-  int XXX_cur_insttype; // depreacted
-  int plugin_api_version; // see NSISPIAPIVER_CURR
-                          // used to be XXX_insttype_changed
-  int silent; // NSIS_CONFIG_SILENT_SUPPORT
-  int instdir_error;
-  int rtl;
-  int errlvl;
-  int alter_reg_view;
-  int status_update;
-} exec_flags_t;
-
-#ifndef NSISCALL
-#  define NSISCALL __stdcall
-#endif
-
-typedef struct {
-  exec_flags_t *exec_flags;
-  int (NSISCALL *ExecuteCodeSegment)(int, HWND);
-  void (NSISCALL *validate_filename)(TCHAR *);
-  int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
-} extra_parameters;
-
-// Definitions for page showing plug-ins
-// See Ui.c to understand better how they're used
-
-// sent to the outer window to tell it to go to the next inner window
-#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
-
-// custom pages should send this message to let NSIS know they're ready
-#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
-
-// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
-#define NOTIFY_BYE_BYE 'x'
-
-#endif /* _PLUGIN_H_ */
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/nsis_tchar.h b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/nsis_tchar.h
deleted file mode 100644
index 9532d4e..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/nsis_tchar.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * nsis_tchar.h
- * 
- * This file is a part of NSIS.
- * 
- * Copyright (C) 1999-2007 Nullsoft and Contributors
- * 
- * This software is provided 'as-is', without any express or implied
- * warranty.
- *
- * For Unicode support by Jim Park -- 08/30/2007
- */
-
-// Jim Park: Only those we use are listed here.
-
-#pragma once
-
-#ifdef _UNICODE
-
-#ifndef _T
-#define __T(x)   L ## x
-#define _T(x)    __T(x)
-#define _TEXT(x) __T(x)
-#endif
-typedef wchar_t TCHAR;
-typedef wchar_t _TUCHAR;
-
-// program
-#define _tmain      wmain
-#define _tWinMain   wWinMain
-#define _tenviron   _wenviron
-#define __targv     __wargv
-
-// printfs
-#define _ftprintf   fwprintf
-#define _sntprintf  _snwprintf
-#define _stprintf   _swprintf
-#define _tprintf    wprintf
-#define _vftprintf  vfwprintf
-#define _vsntprintf _vsnwprintf
-#define _vstprintf  _vswprintf
-
-// scanfs
-#define _tscanf     wscanf
-#define _stscanf    swscanf
-
-// string manipulations
-#define _tcscat     wcscat
-#define _tcschr     wcschr
-#define _tcsclen    wcslen
-#define _tcscpy     wcscpy
-#define _tcsdup     _wcsdup
-#define _tcslen     wcslen
-#define _tcsnccpy   wcsncpy
-#define _tcsncpy    wcsncpy
-#define _tcsrchr    wcsrchr
-#define _tcsstr     wcsstr
-#define _tcstok     wcstok
-
-// string comparisons
-#define _tcscmp     wcscmp
-#define _tcsicmp    _wcsicmp
-#define _tcsncicmp  _wcsnicmp
-#define _tcsncmp    wcsncmp
-#define _tcsnicmp   _wcsnicmp
-
-// upper / lower
-#define _tcslwr     _wcslwr
-#define _tcsupr     _wcsupr
-#define _totlower   towlower
-#define _totupper   towupper
-
-// conversions to numbers
-#define _tcstoi64   _wcstoi64
-#define _tcstol     wcstol
-#define _tcstoul    wcstoul
-#define _tstof      _wtof
-#define _tstoi      _wtoi
-#define _tstoi64    _wtoi64
-#define _ttoi       _wtoi
-#define _ttoi64     _wtoi64
-#define _ttol       _wtol
-
-// conversion from numbers to strings
-#define _itot       _itow
-#define _ltot       _ltow
-#define _i64tot     _i64tow
-#define _ui64tot    _ui64tow
-
-// file manipulations
-#define _tfopen     _wfopen
-#define _topen      _wopen
-#define _tremove    _wremove
-#define _tunlink    _wunlink
-
-// reading and writing to i/o
-#define _fgettc     fgetwc
-#define _fgetts     fgetws
-#define _fputts     fputws
-#define _gettchar   getwchar
-
-// directory
-#define _tchdir     _wchdir
-
-// environment
-#define _tgetenv    _wgetenv
-#define _tsystem    _wsystem
-
-// time
-#define _tcsftime   wcsftime
-
-#else // ANSI
-
-#ifndef _T
-#define _T(x)    x
-#define _TEXT(x) x
-#endif
-typedef char            TCHAR;
-typedef unsigned char   _TUCHAR;
-
-// program
-#define _tmain      main
-#define _tWinMain   WinMain
-#define _tenviron   environ
-#define __targv     __argv
-
-// printfs
-#define _ftprintf   fprintf
-#define _sntprintf  _snprintf
-#define _stprintf   sprintf
-#define _tprintf    printf
-#define _vftprintf  vfprintf
-#define _vsntprintf _vsnprintf
-#define _vstprintf  vsprintf
-
-// scanfs
-#define _tscanf     scanf
-#define _stscanf    sscanf
-
-// string manipulations
-#define _tcscat     strcat
-#define _tcschr     strchr
-#define _tcsclen    strlen
-#define _tcscnlen   strnlen
-#define _tcscpy     strcpy
-#define _tcsdup     _strdup
-#define _tcslen     strlen
-#define _tcsnccpy   strncpy
-#define _tcsrchr    strrchr
-#define _tcsstr     strstr
-#define _tcstok     strtok
-
-// string comparisons
-#define _tcscmp     strcmp
-#define _tcsicmp    _stricmp
-#define _tcsncmp    strncmp
-#define _tcsncicmp  _strnicmp
-#define _tcsnicmp   _strnicmp
-
-// upper / lower
-#define _tcslwr     _strlwr
-#define _tcsupr     _strupr
-
-#define _totupper   toupper
-#define _totlower   tolower
-
-// conversions to numbers
-#define _tcstol     strtol
-#define _tcstoul    strtoul
-#define _tstof      atof
-#define _tstoi      atoi
-#define _tstoi64    _atoi64
-#define _tstoi64    _atoi64
-#define _ttoi       atoi
-#define _ttoi64     _atoi64
-#define _ttol       atol
-
-// conversion from numbers to strings
-#define _i64tot     _i64toa
-#define _itot       _itoa
-#define _ltot       _ltoa
-#define _ui64tot    _ui64toa
-
-// file manipulations
-#define _tfopen     fopen
-#define _topen      _open
-#define _tremove    remove
-#define _tunlink    _unlink
-
-// reading and writing to i/o
-#define _fgettc     fgetc
-#define _fgetts     fgets
-#define _fputts     fputs
-#define _gettchar   getchar
-
-// directory
-#define _tchdir     _chdir
-
-// environment
-#define _tgetenv    getenv
-#define _tsystem    system
-
-// time
-#define _tcsftime   strftime
-
-#endif
-
-// is functions (the same in Unicode / ANSI)
-#define _istgraph   isgraph
-#define _istascii   __isascii
-
-#define __TFILE__ _T(__FILE__)
-#define __TDATE__ _T(__DATE__)
-#define __TTIME__ _T(__TIME__)
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/pluginapi.h b/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/pluginapi.h
deleted file mode 100644
index e762bbf..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/include/unicode/nsis/pluginapi.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef ___NSIS_PLUGIN__H___
-#define ___NSIS_PLUGIN__H___
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "api.h"
-#include "nsis_tchar.h"
-
-#ifndef NSISCALL
-#  define NSISCALL __stdcall
-#endif
-
-#define EXDLL_INIT()           {  \
-        g_stringsize=string_size; \
-        g_stacktop=stacktop;      \
-        g_variables=variables; }
-
-typedef struct _stack_t {
-  struct _stack_t *next;
-  TCHAR text[1]; // this should be the length of string_size
-} stack_t;
-
-enum
-{
-INST_0,         // $0
-INST_1,         // $1
-INST_2,         // $2
-INST_3,         // $3
-INST_4,         // $4
-INST_5,         // $5
-INST_6,         // $6
-INST_7,         // $7
-INST_8,         // $8
-INST_9,         // $9
-INST_R0,        // $R0
-INST_R1,        // $R1
-INST_R2,        // $R2
-INST_R3,        // $R3
-INST_R4,        // $R4
-INST_R5,        // $R5
-INST_R6,        // $R6
-INST_R7,        // $R7
-INST_R8,        // $R8
-INST_R9,        // $R9
-INST_CMDLINE,   // $CMDLINE
-INST_INSTDIR,   // $INSTDIR
-INST_OUTDIR,    // $OUTDIR
-INST_EXEDIR,    // $EXEDIR
-INST_LANG,      // $LANGUAGE
-__INST_LAST
-};
-
-extern unsigned int g_stringsize;
-extern stack_t **g_stacktop;
-extern TCHAR *g_variables;
-
-int NSISCALL popstring(TCHAR *str); // 0 on success, 1 on empty stack
-int NSISCALL popstringn(TCHAR *str, int maxlen); // with length limit, pass 0 for g_stringsize
-int NSISCALL popint(); // pops an integer
-int NSISCALL popint_or(); // with support for or'ing (2|4|8)
-int NSISCALL myatoi(const TCHAR *s); // converts a string to an integer
-unsigned NSISCALL myatou(const TCHAR *s); // converts a string to an unsigned integer, decimal only
-int NSISCALL myatoi_or(const TCHAR *s); // with support for or'ing (2|4|8)
-void NSISCALL pushstring(const TCHAR *str);
-void NSISCALL pushint(int value);
-TCHAR * NSISCALL getuservariable(const int varnum);
-void NSISCALL setuservariable(const int varnum, const TCHAR *var);
-
-#ifdef _UNICODE
-#define PopStringW(x) popstring(x)
-#define PushStringW(x) pushstring(x)
-#define SetUserVariableW(x,y) setuservariable(x,y)
-
-int  NSISCALL PopStringA(char* ansiStr);
-void NSISCALL PushStringA(const char* ansiStr);
-void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
-void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
-void NSISCALL SetUserVariableA(const int varnum, const char* ansiStr);
-
-#else
-// ANSI defs
-
-#define PopStringA(x) popstring(x)
-#define PushStringA(x) pushstring(x)
-#define SetUserVariableA(x,y) setuservariable(x,y)
-
-int  NSISCALL PopStringW(wchar_t* wideStr);
-void NSISCALL PushStringW(wchar_t* wideStr);
-void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
-void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
-void NSISCALL SetUserVariableW(const int varnum, const wchar_t* wideStr);
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif//!___NSIS_PLUGIN__H___
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib b/windows/plugins/stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib
deleted file mode 100644
index 26f03fe..0000000
Binary files a/windows/plugins/stdutils/Contrib/StdUtils/lib/msvcrt_vc6.lib and /dev/null differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib b/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib
deleted file mode 100644
index ea64b80..0000000
Binary files a/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_ansi.lib and /dev/null differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_unicode.lib b/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_unicode.lib
deleted file mode 100644
index 5a20842..0000000
Binary files a/windows/plugins/stdutils/Contrib/StdUtils/lib/nsis_pluginapi_unicode.lib and /dev/null differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/resource.h b/windows/plugins/stdutils/Contrib/StdUtils/resource.h
deleted file mode 100644
index ba6b490..0000000
--- a/windows/plugins/stdutils/Contrib/StdUtils/resource.h
+++ /dev/null
@@ -1,26 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-
-// VERSION
-#define DLL_VERSION_MAJ_LO 1
-#define DLL_VERSION_MIN_HI 0
-#define DLL_VERSION_MIN_LO 3
-#define DLL_VERSION_PATCHL 0
-
-// VERSION STRING
-#define DLL_VERSION_STR_F1(X)         #X
-#define DLL_VERSION_STR_F2(W,X,Y,Z)   DLL_VERSION_STR_F1(W.X.Y.Z)
-#define DLL_VERSION_STR_F3(W,X,Y,Z)   DLL_VERSION_STR_F2(W,X,Y,Z)
-#define DLL_VERSION_STRING            DLL_VERSION_STR_F3(DLL_VERSION_MAJ_LO,DLL_VERSION_MIN_HI,DLL_VERSION_MIN_LO,DLL_VERSION_PATCHL)
-
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        101
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1001
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/utils/Date.exe b/windows/plugins/stdutils/Contrib/StdUtils/utils/Date.exe
deleted file mode 100644
index 069bae1..0000000
Binary files a/windows/plugins/stdutils/Contrib/StdUtils/utils/Date.exe and /dev/null differ
diff --git a/windows/plugins/stdutils/Contrib/StdUtils/utils/Zip.exe b/windows/plugins/stdutils/Contrib/StdUtils/utils/Zip.exe
deleted file mode 100644
index 55be81d..0000000
Binary files a/windows/plugins/stdutils/Contrib/StdUtils/utils/Zip.exe and /dev/null differ
diff --git a/windows/plugins/stdutils/Docs/StdUtils/StdUtils.html b/windows/plugins/stdutils/Docs/StdUtils/StdUtils.html
deleted file mode 100644
index 4d838cf..0000000
--- a/windows/plugins/stdutils/Docs/StdUtils/StdUtils.html
+++ /dev/null
@@ -1,752 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-
-<head>
-	<title>StdUtils plug-in</title>
-	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
-	<meta http-equiv="expires" content="0">
-	<meta http-equiv="cache-control" content="no-cache">
-	<meta http-equiv="pragma" content="no-cache">
-	<style type="text/css">
-	<!--
-		pre { background-color: #ECECEC; }
-		tt { background-color: #F0F0F0; }
-	-->
-	</style>
-</head>
-
-<body>
-
-<!-- ---------------- -->
-
-<h1>StdUtils for NSIS</h1>
-
-<p>This plug-in provides access to a number of "standard" functions from the <a href="http://en.wikipedia.org/wiki/C_standard_library">C Standard Library</a>, which programmers are used to from their C/C++ compilers (and other languages), but which are not available in NSIS by default. In order to keep the plug-in size as small as possible (~15 KB) and for maximum compatibility, the Visual C++ Run-Time v6.0 (MSVCRT.DLL), which is included with all versions of Windows (since Windows 2000) [...]
-<p>Many additional functions, <i>not</i> directly related to the C Standard Library, have sneaked in over the years. For example, this plug-in provides a wrapper for the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb762164%28v=vs.85%29.aspx">SHFileOperation</a> function. Moreover it provides a method for launching programs in a non-elevated way (user context) from an elevated installer (admin mode) on UAC-enabled systems (Vista and later) - see below for details! Las [...]
-<p><font style="color:darkred;">ANSI and Unicode builds available. Support operating systems: Windows 2000 and later.</font></p>
-
-<br>
-
-<b>Table of Contents:</b>
-<ul>
-	<li><a href="#53826d99">Available Functions</a>
-	<li><a href="#e5717960">Installation</a>
-	<li><a href="#72a4075a">General Usage</a>
-	<li><a href="#66dd4753">Time Functions</a>
-	<li><a href="#dc3f60d9">Pseudorandom Number Generator (PRNG)</a>
-	<li><a href="#23711935">String Functions</a>
-	<li><a href="#df333b53">Shell File Operation</a>
-	<li><a href="#a3d3af46">ExecShellAsUser</a>
-	<li><a href="#0c74ed2a">ExecShellWait</a>
-	<li><a href="#f24cc3f9">GetParameter / GetAllParameters</a>
-	<li><a href="#d452a779">InvokeShellVerb</a>
-	<li><a href="#f57ec206">GetRealOSVersion / GetRealOSName / VerifyOSVersion</a>
-	<li><a href="#14863bf9">Debugging Functions</a>
-	<li><a href="#b92197af">Acknowledgment</a>
-	<li><a href="#db579654">License</a>
-	<li><a href="#01efe0f2">Download and Sources</a>
-</ul>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="53826d99"></a><h2>Available Functions</h2>
-
-<p>The following functions are provided by the StdUtils plug-in:
-
-<pre>!define StdUtils.Time             #time(), as in C standard library
-!define StdUtils.GetMinutes       #GetSystemTimeAsFileTime(), returns the number of minutes
-!define StdUtils.GetHours         #GetSystemTimeAsFileTime(), returns the number of hours
-!define StdUtils.GetDays          #GetSystemTimeAsFileTime(), returns the number of days
-!define StdUtils.Rand             #rand(), as in C standard library
-!define StdUtils.RandMax          #rand(), as in C standard library, with maximum value
-!define StdUtils.RandMinMax       #rand(), as in C standard library, with minimum/maximum value
-!define StdUtils.RandList         #rand(), as in C standard library, with list support
-!define StdUtils.FormatStr        #sprintf(), as in C standard library, one '%d' placeholder
-!define StdUtils.FormatStr2       #sprintf(), as in C standard library, two '%d' placeholders
-!define StdUtils.FormatStr3       #sprintf(), as in C standard library, three '%d' placeholders
-!define StdUtils.ScanStr          #sscanf(), as in C standard library, one '%d' placeholder
-!define StdUtils.ScanStr2         #sscanf(), as in C standard library, two '%d' placeholders
-!define StdUtils.ScanStr3         #sscanf(), as in C standard library, three '%d' placeholders
-!define StdUtils.TrimStr          #Remove whitspaces from string, left and right
-!define StdUtils.TrimStrLeft      #Remove whitspaces from string, left side only
-!define StdUtils.TrimStrRight     #Remove whitspaces from string, right side only
-!define StdUtils.RevStr           #Reverse a string, e.g. "reverse me" <-> "em esrever"
-!define StdUtils.SHFileMove       #SHFileOperation(), using the FO_MOVE operation
-!define StdUtils.SHFileCopy       #SHFileOperation(), using the FO_COPY operation
-!define StdUtils.ExecShellAsUser  #ShellExecute() as NON-elevated user from elevated installer
-!define StdUtils.InvokeShellVerb  #Invokes a "shell verb", e.g. for pinning items to the taskbar
-!define StdUtils.ExecShellWaitEx  #ShellExecuteEx(), returns the handle of the new process
-!define StdUtils.WaitForProcEx    #WaitForSingleObject(), e.g. to wait for a running process
-!define StdUtils.GetParameter     #Get the value of a specific command-line option
-!define StdUtils.GetAllParameters #Get complete command-line, but without executable name
-!define StdUtils.GetRealOSVersion #Get the *real* Windows version number, even on Windows 8.1+
-!define StdUtils.GetRealOSName    #Get the *real* Windows version, as a "friendly" name
-!define StdUtils.VerifyOSVersion  #Compare the *real* operating system to an expected version
-!define StdUtils.GetLibVersion    #Get the current StdUtils library version (for debugging)
-!define StdUtils.SetVerbose       #Enable or disable "verbose" mode (for debugging)</pre>
-
-<p><b>Please see the descriptions below for details on the individual functions!</b></p>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="e5717960"></a><h2>Installation</h2>
-
-<p>Depending on whether you are using the Unicode or ANSI (non-Unicode) variant of NSIS (we highly recommend using the Unicode variant!), you must copy either <tt>StdUtils\Plugins\Release_Unicode\StdUtils.dll</tt> or <tt>StdUtils\Plugins\Release_ANSI\StdUtils.dll</tt> into the <tt>Plugins</tt> sub-directory inside your NSIS installation directory. Also, in both cases, you must copy <tt>StdUtils\Include\StdUtils.nsh</tt> into the <tt>Include</tt> sub-directory inside your NSIS installatio [...]
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="72a4075a"></a><h2>General Usage</h2>
-
-<p>In order to use the StdUtils plug-in in your script, simply include <tt>StdUtils.nsh</tt> and then use the pre-defined <tt>${StdUtils.<i>FunctionName</i>}</tt> macros like this:</p>
-
-<pre>!include '<span style="color:darkred;font-weight:bold;">StdUtils.nsh</span>'
-
-Section
-	<span style="color:darkred;font-weight:bold;">${StdUtils.Rand}</span> $1
-	DetailPrint "Random number obtained via StdUtils::Rand is: $1"
-SectionEnd</pre>
-
-<p>Note: We highly recommend to <u>not</u> call the plug-in functions directly. Instead, use the pre-defind macros, which ensures that the plug-in functions are used in the "proper" way.</p>
-<p>For more details, please have a look at the example scripts located in the <tt>StdUtils\Examples\StdUtils</tt> directory!</p>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="66dd4753"></a><h2>Time Functions</h2>
-
-<p><b><tt>${StdUtils.Time} <i>user_var(output)</i></tt></b></p>
-<p>Returns the number of seconds that have elapsed since 00:00, Jan 1, 1970 (UTC), also known as "Unix time", just like the <a href="http://www.cplusplus.com/reference/clibrary/ctime/time/">time()</a> function:
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.Time} $1
-	DetailPrint "Time: $1"
-	Sleep 500
-	${StdUtils.Time} $1
-	DetailPrint "Time: $1"
-	Sleep 500
-	${StdUtils.Time} $1
-	DetailPrint "Time: $1"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.GetMinutes} <i>user_var(output)</i><br>${StdUtils.GetHours} <i>user_var(output)</i><br>${StdUtils.GetDays} <i>user_var(output)</i></tt></b></p>
-<p>Retrieves the current system date and time, using the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms724397%28v=vs.85%29.aspx">GetSystemTimeAsFileTime()</a> function. Returns the number of <i>minutes</i>, <i>hours</i> or <i>days</i> since 00:00, January 1, 1601 (UTC).
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.GetMinutes} $1
-	DetailPrint "UTC time in minutes: $1"
-	${StdUtils.GetHours} $1
-	DetailPrint "UTC time in hours: $1"
-	${StdUtils.GetDays} $1
-	DetailPrint "UTC time in days: $1"
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="dc3f60d9"></a><h2>Pseudorandom Number Generator (PRNG)</h2>
-
-<p><b><tt>${StdUtils.Rand} <i>user_var(output)</i><br>${StdUtils.RandMax} <i>user_var(output)</i> <i>max</i><br>${StdUtils.RandMinMax} <i>user_var(output)</i> <i>min</i> <i>max</i></tt></b></p>
-<p>Returns a pseudo-random integral number, similar to the <a href="http://www.cplusplus.com/reference/clibrary/cstdlib/rand/">rand()</a> function, but without the need to call <tt>srand()</tt>. Optionally the <i>minimum</i> and/or <i>maximum</i> value can be specified, so a random number in the <tt>min</tt> to <tt>max</tt> range will be returned. If <i>no</i> minimum is specified, the minimum defaults to <i>zero</i>. And if <i>no</i> maximum is specified, the maximum defaults to <tt>INT [...]
-
-<pre>Section
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-SectionEnd
-
-Section
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-SectionEnd
-
-Section
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 20 21
-	DetailPrint "Random Min/Max: $1"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.RandList} <i>count</i> <i>max</i></tt></b></p>
-<p>Pushes a list of pseudo-random numbers onto the stack. The string "EOL" is pushed beforehand and thus will indicate the end of the list when popping the numbers off the stack. The <tt>count</tt> of the random numbers and the <tt>max</tt> value can be specified; the minimum value is <i>zero</i>.</p>
-
-<pre>Section
-	${StdUtils.RandList} 50 100
-	Pop $1
-	StrCmp $1 EOL +3
-	DetailPrint "RandList: $1"
-	Goto -3
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="23711935"></a><h2>String Functions</h2>
-
-<p><b><tt>${StdUtils.FormatStr} <i>user_var(output)</i> <i>format_str</i> <i>val1</i><br>${StdUtils.FormatStr2} <i>user_var(output)</i> <i>format_str</i> <i>val1</i> <i>val2</i><br>${StdUtils.FormatStr3} <i>user_var(output)</i> <i>format_str</i> <i>val1</i> <i>val2</i> <i>val3</i></tt></b></p>
-<p>Returns a formatted string, similar to the <a href="http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/">sprintf()</a> function. Only the <tt>%d</tt> placeholder is currently supported. There are versions for one, two and three placeholders:</p>
-
-<pre>Section
-	${StdUtils.FormatStr} $1 "Hello World is %05d woha!" 89
-	DetailPrint "FormatStr: $1"
-	${StdUtils.FormatStr2} $1 "Hello World is %05d and %05d woha!" 89 384
-	DetailPrint "FormatStr: $1"
-	${StdUtils.FormatStr3} $1 "Hello World is %05d and %05d or even %05d woha!" 89 384 2384
-	DetailPrint "FormatStr: $1"
-	${StdUtils.FormatStr} $1 "Hello World is %09000d." 89
-	DetailPrint "FormatStr: $1"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.ScanStr} <i>user_var(output)</i> <i>format_str</i> <i>input</i> <i>default</i><br>${StdUtils.ScanStr2} <i>user_var(output1)</i> <i>user_var(output2)</i> <i>format_str</i> <i>input</i> <i>default1</i> <i>default2</i><br>${StdUtils.ScanStr3} <i>user_var(output1)</i> <i>user_var(output2)</i> <i>user_var(output3)</i> <i>format_str</i> <i>input</i> <i>default1</i> <i>default2</i> <i>default3</i></tt></b></p>
-<p>Parses input from a string according to a format specification similar to the <a href="http://www.cplusplus.com/reference/clibrary/cstdio/sscanf/">sscanf()</a> function. Only the <tt>%d</tt> placeholder is currently supported. There are versions for one, two and three placeholders:</p>
-
-<pre>Section
-	${StdUtils.ScanStr} $0 "Der Test sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
-	DetailPrint "ScanStr: $0"
-	${StdUtils.ScanStr} $0 "Der Hund sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
-	DetailPrint "ScanStr: $0"
-SectionEnd
-
-Section
-	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 sowie 831 ist toll!" 42 43
-	DetailPrint "ScanStr2: $0, $1"
-	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 horch 831 ist toll!" 42 43
-	DetailPrint "ScanStr2: $0, $1"
-	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Hund sagt 571 horch 831 ist toll!" 42 43
-	DetailPrint "ScanStr2: $0, $1"
-SectionEnd
-
-Section
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! Und 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! OMG 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 horch 831 ist toll! OMG 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Hund sagt 571 horch 831 ist toll! OMG 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.TrimStr} <i>user_var(input/output)</i><br>${StdUtils.TrimStrLeft} <i>user_var(input/output)</i><br>${StdUtils.TrimStrRight} <i>user_var(input/output)</i></tt></b></p>
-<p>Trims a string by removing all leading and/or trailing whitspace (space, tabular, line feed, carriage return) characters <i>in-place</i>:</p>
-
-<pre>Section
-	StrCpy $1 "        Some Text        "
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-	
-	StrCpy $1 "Some Text"
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-
-	StrCpy $1 ""
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-	
-	StrCpy $1 "   "
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-
-	StrCpy $1 "$\tFoobar$\r$\n"
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.RevStr} <i>user_var(input/output)</i></tt></b></p>
-<p>Reverses the character order of a specified string <i>in-place</i>. For example, it converts "reverse me" to "em esrever", or vice versa.</p>
-
-<pre>Section
-	StrCpy $0 "ABC"
-	DetailPrint "String: $0"
-	${StdUtils.RevStr} $0
-	DetailPrint "RevStr: $0"
-	
-	StrCpy $0 "ABCD"
-	DetailPrint "String: $0"
-	${StdUtils.RevStr} $0
-	DetailPrint "RevStr: $0"
-
-	StrCpy $0 "Just a very long text with no specific meaning at all!"
-	DetailPrint "String: $0"
-	${StdUtils.RevStr} $0
-	DetailPrint "RevStr: $0"
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="df333b53"></a><h2>Shell File Operation</h2>
-
-<p><b><tt>${StdUtils.SHFileMove} <i>user_var(output)</i> <i>from</i> <i>to</i> <i>hwnd</i><br>${StdUtils.SHFileCopy} <i>user_var(output)</i> <i>from</i> <i>to</i> <i>hwnd</i></tt></b></p>
-<p>Copies or moves a file system object (e.g. a <i>file</i> or a complete <i>folder</i>) from path <tt>from</tt> to path <tt>to</tt>, by using the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb762164%28v=vs.85%29.aspx">SHFileOperation()</a> function. The function requires a window handle <tt>hwnd</tt> and usually the NSIS variable <tt>$HWNDPARENT</tt> is used for this purpose.</p>
-
-<pre>Section
-	InitPluginsDir
-	SetOutPath "$PLUGINSDIR\TestDirA"
-	File "${NSISDIR}\Contrib\Graphics\Checks\*.*"
-	SetOutPath "$PLUGINSDIR\TestDirA\SubDir"
-	File "${NSISDIR}\Contrib\Graphics\Header\*.*"
-	CreateDirectory "$PLUGINSDIR\SubDirX"
-	CreateDirectory "$PLUGINSDIR\SubDirY"
-	
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirX\TestDirB" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-	${StdUtils.SHFileMove} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirY\TestDirC" $HWNDPARENT
-	DetailPrint "SHFileMove: $0"
-	ExecShell "explore" "$PLUGINSDIR"
-SectionEnd
-
-Section
-	MessageBox MB_ICONINFORMATION "The next three operations are going to fail!$\nBut only one will be verbose..."
-
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-	
-	${StdUtils.SetVerbose} 1
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-	
-	${StdUtils.SetVerbose} 0
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="a3d3af46"></a><h2>ExecShellAsUser</h2>
-
-<p><b><tt>${StdUtils.ExecShellAsUser} <i>user_var(output)</i> <i>file</i> <i>verb</i> <i>args</i></tt></b></p>
-<p>The <tt>${StdUtils.ExecShellAsUser}</tt> function allows for launching a child process with normal user privileges (user level), directly from an elevated installer instance (admin level). This is in contrast to the built-in <tt>Exec</tt>, <tt>ExecWait</tt> and <tt>ExecShell</tt> instructions, which all cause the child process to be elevated too. Consequently, the <tt>${StdUtils.ExecShellAsUser}</tt> function provides a simple and more lightweight alternative to the UAC plug-in. The f [...]
-<p>Please note that "einval" indicates that the function was called with invalid parameters and "timeout" indicates that the function encountered a deadlock. Furthermore, note that "ok" indicates that the process has been created using the <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/bb774138%28v=vs.85%29.aspx">IShellDispatch2</a> COM interface, which is the <i>default</i> behavior, because it allows the new process to <i>not</i> be elevated. Finally, note that "fallb [...]
-
-<pre>!include 'StdUtils.nsh'
- 
-; make sure the installer will get elevated rights on UAC-enabled system (Vista+)
-RequestExecutionLevel <font color="darkred">admin </font>
-ShowInstDetails show
- 
-Section
-	DetailPrint 'ExecShell: "$SYSDIR\mspaint.exe"'
-	; this instance of MS Paint will be *elevated*, just like the installer!
-	ExecShell "open" "$SYSDIR\mspaint.exe"
-	MessageBox MB_TOPMOST "Close Paint and click 'OK' to continue..."
-SectionEnd
- 
-Section
-	DetailPrint 'ExecShellAsUser: "$SYSDIR\mspaint.exe"'
-	Sleep 1000
-	; now launch a *non-elevated* instance of MS Paint by using ExecShellAsUser
-	${StdUtils.ExecShellAsUser} $0 "$SYSDIR\mspaint.exe" "open" ""
-	; expected result is "ok" on UAC-enabled systems or "fallback" otherwise
-	DetailPrint "Result: $0"
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="0c74ed2a"></a><h2>ExecShellWait</h2>
-
-<p><b><tt>${StdUtils.ExecShellWaitEx} <i>user_var(output_1)</i> <i>user_var(output_2)</i> <i>file</i> <i>verb</i> <i>args</i><br>${StdUtils.WaitForProcEx} <i>user_var(output)</i> <i>handle</i></tt></b></p>
-<p>The <tt>${StdUtils.ExecShellWaitEx}</tt> function works like the built-in <tt>ExecShell</tt> command, except that you can wait for the process to terminate. The function expects three arguments: The path to the file to be executed, the <i>verb</i> that shall be used to execute the file (e.g. "open") and the arguments to be passed to the new process. The last two arguments are optional and can be specified as <i>empty</i> strings (""). Furthermore, the function returns two values: The  [...]
-<p>If the <i>first</i> return value is "ok", the <i>second</i> return value contains the handle of the new process. If the <i>first</i> return value is "error", the <i>second</i> return value contains the Win32 error code. And if the <i>first</i> return value is "no_wait", the <i>second</i> return value is zero. Only if "ok" <i>and</i> a process handle were returned, you can call <tt>${StdUtils.WaitForProcEx}</tt> in order to wait until the process has terminated. This means that you mus [...]
-
-<pre>!include 'StdUtils.nsh'
- 
-RequestExecutionLevel user
-ShowInstDetails show
- 
-Section
-	DetailPrint 'ExecShellWait: "$SYSDIR\mspaint.exe"'
-	Sleep 1000
-	${StdUtils.ExecShellWaitEx} $0 $1 "$SYSDIR\mspaint.exe" "open" "" ;try to launch the process
-
-	DetailPrint "Result: $0 -> $1" ;returns "ok", "no_wait" or "error".
-	StrCmp $0 "error" ExecFailed ;check if process failed to create
-	StrCmp $0 "no_wait" WaitNotPossible ;check if process can be waited for - always check this!
-	StrCmp $0 "ok" WaitForProc ;make sure process was created successfully
-	Abort
-	
-	WaitForProc:
-	DetailPrint "Waiting for process. ZZZzzzZZZzzz..."
-	${StdUtils.WaitForProcEx} $2 $1
-	DetailPrint "Process just terminated (exit code: $2)"
-	Goto WaitDone
-	
-	ExecFailed:
-	DetailPrint "Failed to create process (error code: $1)"
-	Goto WaitDone
-
-	WaitNotPossible:
-	DetailPrint "Can not wait for process."
-	Goto WaitDone
-	
-	WaitDone:
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="f24cc3f9"></a><h2>GetParameter / GetAllParameters</h2>
-
-<p><b><tt>${StdUtils.GetParameter} <i>user_var(output)</i> <i>name</i> <i>default</i><br>${StdUtils.GetAllParameters} <i>user_var(output)</i> <i>truncate</i></tt></b></p>
-<p>With <tt>${StdUtils.GetParameter}</tt> you can check for the presence of a specific command-line parameter. If the parameter was specified with a (non-empty) value, then the parameter's value is return. If the parameter was specified without a value, then an empty string is return. If the parameter has not been specified, then the default value is returned.</p>
-
-<p>Parameters can be passed to the installer like this:</p>
-<ul>
-	<li><tt>Installer.exe /Foobar</tt>
-	<li><tt>Installer.exe /Foobar=SomeValue</tt>
-	<li><tt>Installer.exe "/Foobar=Some Value With Whitespaces"</tt>
-</ul>
-
-<p>Additionally you can use <tt>${StdUtils.GetAllParameters}</tt> to get the complete command-line string, but without the executable name. This is useful to forward all command-line parameters to an encapsulated installer, for example. The truncate parameters controls the behavior of this function, if the command-line is too long to fit into an NSIS string. With the parameter set to 1, the command-line will be truncated to a length of <tt>NSIS_MAX_STRLEN</tt> (usually 1024 or 8192) char [...]
-
-<pre>!include 'StdUtils.nsh'
- 
-RequestExecutionLevel user
-ShowInstDetails show
- 
-Section
-	${StdUtils.GetParameter} $R0 "Foobar" "<N/A>"
- 
-	StrCmp "$R0" "<N/A>" 0 +3
-	DetailPrint "Parameter /Foobar is *not* specified!"
-	Goto Finished
- 
-	StrCmp "$R0" "" 0 +3 ;'Installer.exe [...] /Foobar'
-	DetailPrint "Parameter /Foobar specified without a value." 
-	Goto Finished
- 
-	;'Installer.exe /Foobar=Foo' or 'Installer.exe "/Foobar=Foo Bar"'
-	${StdUtils.TrimStr} $R0
-	DetailPrint "Value of parameter /Foobar is: '$R0'"
- 
-	Finished:
-	${StdUtils.GetAllParameters} $R0 0
-	DetailPrint "Complete command-line: '$R0'"
-	${StdUtils.GetAllParameters} $R0 1
-	DetailPrint "Truncated command-line: '$R0'"
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="d452a779"></a><h2>InvokeShellVerb</h2>
-
-<p><b><tt>${StdUtils.InvokeShellVerb} <i>user_var(output)</i> <i>path</i> <i>file</i> <i>verb_id</i></tt></b></p>
-<p>The <tt>${StdUtils.InvokeShellVerb}</tt> function can be used to invoke a so-called "Shell Verb" on an arbitary item. The most common use for this is pinning (or unpinning) an item to (from) the Taskbar or Startmenu on Windows 7. Despite the fact the Microsoft claimes that there is no API for this, the API <i>does</i> exist and is commonly used (e.g. Firefox' insatller makes use of it too). The function expects three arguments: The directory where the item (e.g. executable file) is lo [...]
-<p>Hint: If you are getting the "not_found" error for a verb that is supposed to exists, then it's probably because the desired action isn't currently available for the item (e.g. it could be that you are trying to pin an item that already is pinned).</p>
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user ;no elevation needed for this test
-ShowInstDetails show
-
-Section
-	IfFileExists "$SYSDIR\mspaint.exe" +3
-	MessageBox MB_ICONSTOP 'File does not exist:$\n"$SYSDIR\mspaint.exe"$\n$\nExample cannot run!'
-	Quit
-SectionEnd
-
-Section
-	DetailPrint "Going to pin MSPaint..."
-	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_PinToTaskbar}
-	DetailPrint "Result: $0"
-
-	StrCmp "$0" "ok" 0 +3
-	MessageBox MB_TOPMOST "Paint should have been pinned to Taskbar now!"
-	Goto +2
-	MessageBox MB_TOPMOST "Failed to pin, see log for details!"
-SectionEnd
-
-Section
-	DetailPrint "Going to un-pin MSPaint..."
-	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_UnpinFromTaskbar}
-	DetailPrint "Result: $0"
-	
-	StrCmp "$0" "ok" 0 +3
-	MessageBox MB_TOPMOST "Paint should have been un-pinned from Taskbar now!"
-	Goto +2
-	MessageBox MB_TOPMOST "Failed to un-pin, see log for details!"
-SectionEnd</pre>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="f57ec206"></a><h2>GetRealOSVersion / GetRealOSName / VerifyOSVersion</h2>
-
-<p><b><tt>${StdUtils.GetRealOSVersion} <i>user_var(out_major)</i> <i>user_var(out_minor)</i> <i>user_var(out_spack)</i></tt></b></p>
-<p>The <tt>${StdUtils.GetRealOSVersion}</tt> function returns the <i>real</i> <a href="#b26a3e82">Windows NT version</a> installed on the computer. Note that starting with Windows 8.1 (Windows NT 6.3), Microsoft has <u>broken</u> the <tt>GetVersion()</tt> and <tt>GetVersionEx()</tt> functions! This has the consequence that Windows 8.1 (and all future versions?) will now identify itself as Windows 8.0! Various workarounds exist, such as adding certain GUID's to the application Manifest, w [...]
-<p>Note: This function uses an iterative approach: It first calls <tt>GetVersionEx()</tt> to get the "fake" Windows version. Then it tries to <i>increase</i> that value, step by step, using the <tt>VerifyVersionInfo()</tt> function - until the "real" version has been revealed.</p>
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.GetRealOSVersion} $1 $2 $3
-	DetailPrint "Real Windows NT Version: $1,$2 (Service Pack: $3)"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.GetRealOSBuildNo} <i>user_var(out)</i></tt></b></p>
-<p>The <tt>${StdUtils.GetRealOSBuildNo}</tt> function returns the <i>real</i> <a href="#b26a3e82">Windows NT build number</a> installed on the computer. The function will return the Windows NT build number (e.g. "7600" on Windows 7 RTM). It returns "error", if something went wrong.</p>
-<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows build number, so it will give the expected result on Windows 8.1 and later.</p>
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.GetRealOSBuildNo} $1
-	DetailPrint "Real Windows NT Build No.: $1"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.GetRealOSName} <i>user_var(out)</i></tt></b></p>
-<p><tt>${StdUtils.GetRealOSName}</tt> is a convenience function that returns the installed Windows version as a <a href="#b26a3e82">friendly name</a> string. Currently the return value can be "winnt" (4.0), "win2k" (5.0), "winxp" (5.1), "xpx64" (5.2), "vista" (6.0), "win70" (6.1), "win80" (6.2) or "win81" (6.3). If an <i>unknown</i> Windows version is encountered, e.g. some future version that is not yet supported, the function will return "unknown". And it will return "error", if someth [...]
-<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows version that will be converted to a friendly name, so it will give the expected result on Windows 8.1 and later.</p>
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.GetRealOSName} $1
-	DetailPrint "Real Windows NT Friendly Name: $1"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.VerifyOSVersion} <i>user_var(out)</i> <i>expected_major</i> <i>expected_minor</i> <i>expected_spack</i></tt></b></p>
-<p><tt>${StdUtils.VerifyOSVersion}</tt> is a convenience function to compare the installed Windows version against some expected one. The expected <a href="#b26a3e82">Windows NT version</a> (e.g. "6.2" for Windows 8.0) is specified by the <tt>expected_major</tt>, <tt>expected_minor</tt> and <tt>expected_spack</tt> parameters. The function returns "ok" when the installed Windows version matches the expected one <i>exactly</i>; it returns "older" when the installed version is <i>older</i>  [...]
-<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows version that will be compared to the expected version, so it will give the expected result on Windows 8.1 and later.</p>
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.VerifyOSVersion} $1 5 1 0
-	DetailPrint "Check for Windows XP (RTM): $1"
-
-	${StdUtils.VerifyOSVersion} $1 5 1 3
-	DetailPrint "Check for Windows XP (SP3): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 1 0
-	DetailPrint "Check for Windows 7 (RTM): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 1 1
-	DetailPrint "Check for Windows 7 (SP1): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 2 0
-	DetailPrint "Check for Windows 8.0: $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 3 0
-	DetailPrint "Check for Windows 8.1: $1"
-SectionEnd</pre>
-
-<p><br><b><tt>${StdUtils.VerifyOSBuildNo} <i>user_var(out)</i> <i>expected_build</i></tt></b></p>
-<p><tt>${StdUtils.VerifyOSBuildNo}</tt> is a convenience function to compare the installed Windows version against some expected version. The expected <a href="#b26a3e82">Windows NT build number</a> is specified by <tt>expected_build</tt> (e.g. "7600" on Windows 7 RTM). The function will retrun "ok" when the installed Windows build matches the expected one <i>exactly</i>; it returns "older" when the installed build is <i>older</i> than the expected one; it returns "newer" when the instal [...]
-<p>Note: This function uses the same algorithm as <tt>${StdUtils.GetRealOSVersion}</tt> to determine the <i>real</i> Windows build number that will be compared to the expected build number, so it will give the expected result on Windows 8.1 and later.</p>
-
-<pre>!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.VerifyOSBuildNo} $1 2600
-	DetailPrint "Check for Build #2600, Windows XP: $1"
-
-	${StdUtils.VerifyOSBuildNo} $1 7600
-	DetailPrint "Check for Build #7600, Windows 7 (RTM): $1"
-
-	${StdUtils.VerifyOSBuildNo} $1 7601
-	DetailPrint "Check for Build #7601, Windows 7 (SP1): $1"
-
-	${StdUtils.VerifyOSBuildNo} $1 9600
-	DetailPrint "Check for Build #9600, Windows 8.1: $1"
-SectionEnd</pre>
-
-<p><br><a name="b26a3e82">List of Windows NT versions:</a>
-
-<table border>
-	<tr><td><b>Marketing Name</b></td><td><b>NT Version</b></td><td><b>Friendly Name</b></td><td><b>Build No.</b></td></tr>
-	<tr><td>Windows NT 4.0</td><td><tt>4.0</tt></td><td><tt>"winnt"</tt></td><td><tt>1381</tt></td></tr>
-	<tr><td>Windows 2000</td><td><tt>5.0</tt></td><td><tt>"win2k"</tt></td><td><tt>2195</tt></td></tr>
-	<tr><td>Windows XP</td><td><tt>5.1</tt></td><td><tt>"winxp"</tt></td><td><tt>2600</tt></td></tr>
-	<tr><td>Windows XP - x64 Edition</td><td><tt>5.2</tt></td><td><tt>"xpx64"</tt></td><td><tt>3790</tt></td></tr>
-	<tr><td>Windows Vista</td><td><tt>6.0</tt></td><td><tt>"vista"</tt></td><td><tt>6000</tt> - <tt>6002</tt></td></tr>
-	<tr><td>Windows 7</td><td><tt>6.1</tt></td><td><tt>"win70"</tt></td><td><tt>7600</tt> - <tt>7601</tt></td></tr>
-	<tr><td>Windows 8</td><td><tt>6.2</tt></td><td><tt>"win80"</tt></td><td><tt>9200</tt></td></tr>
-	<tr><td>Windows 8.1</td><td><tt>6.3</tt></td><td><tt>"win81"</tt></td><td><tt>9600</tt></td></tr>
-</table>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="14863bf9"></a><h2>Debugging Functions</h2>
-
-<p><b><tt>${StdUtils.GetLibVersion} <i>user_var(out_ver)</i> <i>user_var(out_tst)</i></tt></b></p>
-<p>The <tt>${StdUtils.GetLibVersion}</tt> function returns the version of the StdUtils library that is being used. The version string (in the "w.x.y.z" format) is returned in <tt>out_ver</tt>; the build time-stamp is returned in <tt>out_tst</tt>.</p>
-<br style="margin: -0.5em">
-<p><b><tt>${StdUtils.SetVerbose} <i>on</i></tt></b></p>
-<p>The <tt>${StdUtils.SetVerbose}</tt> function enables or disables verbose error messages. Set <tt>on</tt> to '1' to <i>enable</i> verbose outputs or set it to '0' to <i>disable</i> verbose outputs. Verbose outputs are <i>disabled</i> by default. Do <b>not</b> enabled them for <i>release</i> versions of your installer!</p>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="b92197af"></a><h2>Acknowledgment</h2>
-
-<p>The <b>StdUtils</b> plug-in for NSIS was created by LoRd_MuldeR <mulder2 at gmx.de>.</p>
-<p>This plug-in has partly been inspired by the <b>ShellExecAsUser</b> plug-in, created by <i>installer32</i>. This plug-in has partly been inspired by the <b>InvokeShellVerb</b> plug-in, created by <i>Robert Strong</i>.</p>
-<p>Special thanks to <i>Afrow UK</i> for providing his excellent plug-ins (his code helped me to understand how to write NSIS plug-ins).</p>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="db579654"></a><h2>License</h2>
-
-<pre>StdUtils plug-in for NSIS
-Copyright (C) 2004-2014 LoRd_MuldeR <mulder2 at gmx.de>
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.</pre>
-
-<p>The author of the StdUtils plug-in Library for NSIS adds the following clarification to the GNU Lesser General Public License version 2.1: Installer programs (executables) created with NSIS (Nullsoft Scriptable Install System) that make use of the StdUtils plug-in Library (strictly through the NSIS plug-in interface) and that contain/distribute verbatim copies of the StdUtils plug-in Library are considered a "work that uses the Library"; they do <b>not</b> represent a derivative of th [...]
-<p>Please see <a href="http://www.gnu.org/licenses/lgpl-2.1.html">http://www.gnu.org/licenses/lgpl-2.1.html</a> for details!</p>
-
-<br>
-
-<!-- ---------------- -->
-
-<a name="01efe0f2"></a><h2>Download and Sources</h2>
-
-<p>The source codes for the StdUtils plug-in are available from the code repository at:</p>
-
-<ul>
-	<li><a href="https://github.com/lordmulder/stdutils.git">https://github.com/lordmulder/stdutils.git</a> (<a href="https://github.com/lordmulder/stdutils">Browse</a>) (<a href="https://github.com/lordmulder/stdutils/commits/master">History</a>)
-	<li><a href="https://git.gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis.git">https://git.gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis.git</a> (<a href="https://gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis/source/master:">Browse</a>) (<a href="https://gitorious.org/stdutils-plug-in-for-nsis/stdutils-plug-in-for-nsis/commits/">History</a>)
-	<li><a href="https://bitbucket.org/lord_mulder/stdutils.git">https://bitbucket.org/lord_mulder/stdutils.git</a> (<a href="https://bitbucket.org/lord_mulder/stdutils/src">Browse</a>) (<a href="https://bitbucket.org/lord_mulder/stdutils/commits">History</a>)
-</ul>
-
-<p>You can download pre-compiled binaries (i.e. ready-to-use DLL files) of the plug-in here:<br><a href="https://github.com/lordmulder/stdutils/releases/latest">https://github.com/lordmulder/stdutils/releases/latest</a></p>
-
-<br>
-<hr>
-
-<table width="100%">
-	<tr>
-		<td align="left"><a href="http://muldersoft.com/">http://muldersoft.com/</a> | <a href="http://sourceforge.net/projects/muldersoft/">http://sourceforge.net/projects/muldersoft/</a> | <a href="http://nsis.sourceforge.net/Category:Plugins">http://nsis.sourceforge.net/Category:Plugins</a></td>
-		<td align="right"><a href="http://www.youtube.com/watch?v=uKUYSl8c-90">Earth Heals Herself</a></td>
-	</tr>
-</table>
-
-</body>
-</html>
diff --git a/windows/plugins/stdutils/Examples/StdUtils/!_Make.bat b/windows/plugins/stdutils/Examples/StdUtils/!_Make.bat
deleted file mode 100644
index b118097..0000000
--- a/windows/plugins/stdutils/Examples/StdUtils/!_Make.bat
+++ /dev/null
@@ -1,29 +0,0 @@
- at echo off
-REM ----------------------------------------------------------------------
-set "NSIS_ANSI=D:\NSIS"
-set "NSIS_Unicode=D:\NSIS\_Unicode"
-REM ----------------------------------------------------------------------
-set "NSIS_PROJECTS=StdUtilsTest,ShellExecAsUser,InvokeShellVerb,ShellExecWait,GetParameters"
-REM ----------------------------------------------------------------------
-REM
-for %%i in (%NSIS_PROJECTS%) do (
-	del "%~dp0\%%i-ANSI.exe"
-	del "%~dp0\%%i-Unicode.exe"
-	if exist "%~dp0\%%i-ANSI.exe" (
-		pause
-		exit
-	)
-	if exist "%~dp0\%%i-Unicode.exe" (
-		pause
-		exit
-	)
-)
-REM ----------------------------------------------------------------------
-for %%i in (%NSIS_PROJECTS%) do (
-	"%NSIS_ANSI%\makensis.exe" "%~dp0\%%i.nsi"
-	if not %ERRORLEVEL%==0 pause
-	"%NSIS_Unicode%\makensis.exe" "%~dp0\%%i.nsi"
-	if not %ERRORLEVEL%==0 pause
-)
-REM ----------------------------------------------------------------------
-pause
diff --git a/windows/plugins/stdutils/Examples/StdUtils/GetParameters.nsi b/windows/plugins/stdutils/Examples/StdUtils/GetParameters.nsi
deleted file mode 100644
index 5bb834e..0000000
--- a/windows/plugins/stdutils/Examples/StdUtils/GetParameters.nsi
+++ /dev/null
@@ -1,38 +0,0 @@
-Caption "StdUtils Test-Suite"
-
-!addincludedir  "..\..\Include"
-
-!ifdef NSIS_UNICODE
-	!addplugindir "..\..\Plugins\Release_Unicode"
-	OutFile "GetParameters-Unicode.exe"
-!else
-	!addplugindir "..\..\Plugins\Release_ANSI"
-	OutFile "GetParameters-ANSI.exe"
-!endif
-
-!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	${StdUtils.GetParameter} $R0 "Foobar" "<N/A>"
-	
-	StrCmp "$R0" "<N/A>" 0 +3
-	DetailPrint "Parameter /Foobar is *not* specified!"
-	Goto Finished
-	
-	StrCmp "$R0" "" 0 +3 ;'Installer.exe [...] /Foobar'
-	DetailPrint "Parameter /Foobar specified without a value." 
-	Goto Finished
-
-	;'Installer.exe /Foobar=Foo' or 'Installer.exe "/Foobar=Foo Bar"'
-	${StdUtils.TrimStr} $R0
-	DetailPrint "Value of parameter /Foobar is: '$R0'"
-	
-	Finished:
-	${StdUtils.GetAllParameters} $R0 0
-	DetailPrint "Complete command-line: '$R0'"
-	${StdUtils.GetAllParameters} $R0 1
-	DetailPrint "Truncated command-line: '$R0'"
-SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/InvokeShellVerb.nsi b/windows/plugins/stdutils/Examples/StdUtils/InvokeShellVerb.nsi
deleted file mode 100644
index 9737e45..0000000
--- a/windows/plugins/stdutils/Examples/StdUtils/InvokeShellVerb.nsi
+++ /dev/null
@@ -1,53 +0,0 @@
-Caption "StdUtils Test-Suite"
-
-!addincludedir  "..\..\Include"
-
-!ifdef NSIS_UNICODE
-	!addplugindir "..\..\Plugins\Release_Unicode"
-	OutFile "InvokeShellVerb-Unicode.exe"
-!else
-	!addplugindir "..\..\Plugins\Release_ANSI"
-	OutFile "InvokeShellVerb-ANSI.exe"
-!endif
-
-!include 'StdUtils.nsh'
-
-RequestExecutionLevel user ;no elevation needed for this test
-ShowInstDetails show
-
-Section
-	IfFileExists "$SYSDIR\mspaint.exe" +3
-	MessageBox MB_ICONSTOP 'File does not exist:$\n"$SYSDIR\mspaint.exe"$\n$\nExample cannot run!'
-	Quit
-	MessageBox MB_OK "Please make sure Paint isn't pinned to your Taskbar right now.$\nThen press 'OK' to begin test..."
-SectionEnd
-
-Section
-	DetailPrint "Going to pin MSPaint..."
-	
-	DetailPrint  'InvokeShellVerb: "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_PinToTaskbar}'
-	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_PinToTaskbar}
-	DetailPrint "Result: $0"
-
-	StrCmp "$0" "ok" 0 +3
-	MessageBox MB_TOPMOST "Paint should have been pinned to Taskbar now!"
-	Goto +2
-	MessageBox MB_TOPMOST "Failed to pin, see log for details!"
-
-	DetailPrint "--------------"
-SectionEnd
-
-Section
-	DetailPrint "Going to un-pin MSPaint..."
-	
-	DetailPrint  'InvokeShellVerb: "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_UnpinFromTaskbar}'
-	${StdUtils.InvokeShellVerb} $0 "$SYSDIR" "mspaint.exe" ${StdUtils.Const.ISV_UnpinFromTaskbar}
-	DetailPrint "Result: $0"
-	
-	StrCmp "$0" "ok" 0 +3
-	MessageBox MB_TOPMOST "Paint should have been un-pinned from Taskbar now!"
-	Goto +2
-	MessageBox MB_TOPMOST "Failed to un-pin, see log for details!"
-
-	DetailPrint "--------------"
-SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/ShellExecAsUser.nsi b/windows/plugins/stdutils/Examples/StdUtils/ShellExecAsUser.nsi
deleted file mode 100644
index 27dd0b2..0000000
--- a/windows/plugins/stdutils/Examples/StdUtils/ShellExecAsUser.nsi
+++ /dev/null
@@ -1,29 +0,0 @@
-Caption "StdUtils Test-Suite"
-
-!addincludedir  "..\..\Include"
-
-!ifdef NSIS_UNICODE
-	!addplugindir "..\..\Plugins\Release_Unicode"
-	OutFile "ShellExecAsUser-Unicode.exe"
-!else
-	!addplugindir "..\..\Plugins\Release_ANSI"
-	OutFile "ShellExecAsUser-ANSI.exe"
-!endif
-
-!include 'StdUtils.nsh'
-
-RequestExecutionLevel admin ;make sure our installer will get elevated on Vista+ with UAC enabled
-ShowInstDetails show
-
-Section
-	DetailPrint 'ExecShell: "$SYSDIR\mspaint.exe"'
-	ExecShell "open" "$SYSDIR\mspaint.exe" ;this instance of MS Paint will be elevated too!
-	MessageBox MB_TOPMOST "Close Paint and click 'OK' to continue..."
-SectionEnd
-
-Section
-	DetailPrint 'ExecShellAsUser: "$SYSDIR\mspaint.exe"'
-	Sleep 1000
-	${StdUtils.ExecShellAsUser} $0 "$SYSDIR\mspaint.exe" "open" "" ;launch a *non-elevated* instance of MS Paint
-	DetailPrint "Result: $0" ;expected result is "ok" on UAC-enabled systems or "fallback" otherwise. Failure indicated by "error" or "timeout".
-SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/ShellExecWait.nsi b/windows/plugins/stdutils/Examples/StdUtils/ShellExecWait.nsi
deleted file mode 100644
index ee4dc28..0000000
--- a/windows/plugins/stdutils/Examples/StdUtils/ShellExecWait.nsi
+++ /dev/null
@@ -1,44 +0,0 @@
-Caption "StdUtils Test-Suite"
-
-!addincludedir  "..\..\Include"
-
-!ifdef NSIS_UNICODE
-	!addplugindir "..\..\Plugins\Release_Unicode"
-	OutFile "ShellExecWait-Unicode.exe"
-!else
-	!addplugindir "..\..\Plugins\Release_ANSI"
-	OutFile "ShellExecWait-ANSI.exe"
-!endif
-
-!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-Section
-	DetailPrint 'ExecShellWait: "$SYSDIR\mspaint.exe"'
-	Sleep 1000
-	${StdUtils.ExecShellWaitEx} $0 $1 "$SYSDIR\mspaint.exe" "open" "" ;try to launch the process
-
-	DetailPrint "Result: $0 -> $1" ;returns "ok", "no_wait" or "error".
-	StrCmp $0 "error" ExecFailed ;check if process failed to create
-	StrCmp $0 "no_wait" WaitNotPossible ;check if process can be waited for - always check this!
-	StrCmp $0 "ok" WaitForProc ;make sure process was created successfully
-	Abort
-	
-	WaitForProc:
-	DetailPrint "Waiting for process. ZZZzzzZZZzzz..."
-	${StdUtils.WaitForProcEx} $2 $1
-	DetailPrint "Process just terminated (exit code: $2)"
-	Goto WaitDone
-	
-	ExecFailed:
-	DetailPrint "Failed to create process (error code: $1)"
-	Goto WaitDone
-
-	WaitNotPossible:
-	DetailPrint "Can not wait for process."
-	Goto WaitDone
-	
-	WaitDone:
-SectionEnd
diff --git a/windows/plugins/stdutils/Examples/StdUtils/StdUtilsTest.nsi b/windows/plugins/stdutils/Examples/StdUtils/StdUtilsTest.nsi
deleted file mode 100644
index 6df7689..0000000
--- a/windows/plugins/stdutils/Examples/StdUtils/StdUtilsTest.nsi
+++ /dev/null
@@ -1,399 +0,0 @@
-Caption "StdUtils Test-Suite"
-
-!addincludedir  "..\..\Include"
-
-!ifdef NSIS_UNICODE
-	!addplugindir "..\..\Plugins\Release_Unicode"
-	OutFile "StdUtilsTest-Unicode.exe"
-!else
-	!addplugindir "..\..\Plugins\Release_ANSI"
-	OutFile "StdUtilsTest-ANSI.exe"
-!endif
-
-!macro NextTest
-	Section
-		DetailPrint "--------------"
-	SectionEnd
-!macroend
-
-!include 'StdUtils.nsh'
-
-RequestExecutionLevel user
-ShowInstDetails show
-
-# -----------------------------------------
-# GetRealOSVersion
-# -----------------------------------------
-
-Section
-	${StdUtils.GetLibVersion} $1 $2
-	DetailPrint "Testing StdUtils library v$1"
-	DetailPrint "Library built: $2"
-SectionEnd
-
-!insertmacro NextTest
-
-# -----------------------------------------
-# GetRealOSVersion
-# -----------------------------------------
-
-Section
-	${StdUtils.GetRealOSVersion} $1 $2 $3
-	DetailPrint "Real Windows NT Version: $1,$2 (Service Pack: $3)"
-
-	${StdUtils.GetRealOSBuildNo} $1
-	DetailPrint "Real Windows NT BuildNo: $1"
-
-	${StdUtils.GetRealOSName} $1
-	DetailPrint "Real Windows NT Friendly Name: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.VerifyOSVersion} $1 5 1 0
-	DetailPrint "Check for Windows XP (RTM): $1"
-
-	${StdUtils.VerifyOSVersion} $1 5 1 1
-	DetailPrint "Check for Windows XP (SP1): $1"
-
-	${StdUtils.VerifyOSVersion} $1 5 1 2
-	DetailPrint "Check for Windows XP (SP2): $1"
-
-	${StdUtils.VerifyOSVersion} $1 5 1 3
-	DetailPrint "Check for Windows XP (SP3): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 0 0
-	DetailPrint "Check for Windows Vista (RTM): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 0 1
-	DetailPrint "Check for Windows Vista (SP1): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 1 0
-	DetailPrint "Check for Windows 7 (RTM): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 1 1
-	DetailPrint "Check for Windows 7 (SP1): $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 2 0
-	DetailPrint "Check for Windows 8.0: $1"
-
-	${StdUtils.VerifyOSVersion} $1 6 3 0
-	DetailPrint "Check for Windows 8.1: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.VerifyOSBuildNo} $1 2600
-	DetailPrint "Check for Build #2600, Windows XP: $1"
-
-	${StdUtils.VerifyOSBuildNo} $1 7600
-	DetailPrint "Check for Build #7600, Windows 7 (RTM): $1"
-
-	${StdUtils.VerifyOSBuildNo} $1 7601
-	DetailPrint "Check for Build #7601, Windows 7 (SP1): $1"
-
-	${StdUtils.VerifyOSBuildNo} $1 9600
-	DetailPrint "Check for Build #9600, Windows 8.1: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-# -----------------------------------------
-# Time functions
-# -----------------------------------------
-
-Section
-	${StdUtils.Time} $1
-	DetailPrint "Time: $1"
-	Sleep 500
-	${StdUtils.Time} $1
-	DetailPrint "Time: $1"
-	Sleep 500
-	${StdUtils.Time} $1
-	DetailPrint "Time: $1"
-SectionEnd
-
-Section
-	${StdUtils.GetMinutes} $1
-	DetailPrint "UTC time in minutes: $1"
-	${StdUtils.GetHours} $1
-	DetailPrint "UTC time in hours: $1"
-	${StdUtils.GetDays} $1
-	DetailPrint "UTC time in days: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-# -----------------------------------------
-# PRNG functions
-# -----------------------------------------
-
-Section
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-	${StdUtils.Rand} $1
-	DetailPrint "Random: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-	${StdUtils.RandMax} $1 42
-	DetailPrint "Random Max: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 -4 -2
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 20 21
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 20 21
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 20 21
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 20 21
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 20 21
-	DetailPrint "Random Min/Max: $1"
-	${StdUtils.RandMinMax} $1 20 21
-	DetailPrint "Random Min/Max: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.FormatStr} $1 "Hello World is %05d woha!" 89
-	DetailPrint "FormatStr: $1"
-	${StdUtils.FormatStr2} $1 "Hello World is %05d and %05d woha!" 89 384
-	DetailPrint "FormatStr: $1"
-	${StdUtils.FormatStr3} $1 "Hello World is %05d and %05d or even %05d woha!" 89 384 2384
-	DetailPrint "FormatStr: $1"
-	${StdUtils.FormatStr} $1 "Hello World is %09000d." 89
-	DetailPrint "FormatStr: $1"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.RandList} 50 100
-	Pop $1
-	StrCmp $1 EOL +3
-	DetailPrint "RandList: $1"
-	Goto -3
-SectionEnd
-
-!insertmacro NextTest
-
-# -----------------------------------------
-# SHFileCopy function
-# -----------------------------------------
-
-Section
-	InitPluginsDir
-	SetOutPath "$PLUGINSDIR\TestDirA"
-	File "${NSISDIR}\Contrib\Graphics\Checks\*.*"
-	SetOutPath "$PLUGINSDIR\TestDirA\SubDir"
-	File "${NSISDIR}\Contrib\Graphics\Header\*.*"
-	CreateDirectory "$PLUGINSDIR\SubDirX"
-	CreateDirectory "$PLUGINSDIR\SubDirY"
-	
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirX\TestDirB" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-	${StdUtils.SHFileMove} $0 "$PLUGINSDIR\TestDirA" "$PLUGINSDIR\SubDirY\TestDirC" $HWNDPARENT
-	DetailPrint "SHFileMove: $0"
-	ExecShell "explore" "$PLUGINSDIR"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	MessageBox MB_ICONINFORMATION "The next three operations are going to fail!$\nBut only one will be verbose..."
-
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-	
-	${StdUtils.SetVerbose} 1
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-	
-	${StdUtils.SetVerbose} 0
-	${StdUtils.SHFileCopy} $0 "$PLUGINSDIR\TestDirXYZ" "$PLUGINSDIR\SubDirX\TestDirZ" $HWNDPARENT
-	DetailPrint "SHFileCopy: $0"
-SectionEnd
-
-!insertmacro NextTest
-
-# -----------------------------------------
-# String functions
-# -----------------------------------------
-
-Section
-	${StdUtils.ScanStr} $0 "Der Test sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
-	DetailPrint "ScanStr: $0"
-	${StdUtils.ScanStr} $0 "Der Hund sagt %d ist toll!" "Der Test sagt 571 ist toll!" 42
-	DetailPrint "ScanStr: $0"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 sowie 831 ist toll!" 42 43
-	DetailPrint "ScanStr2: $0, $1"
-	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Test sagt 571 horch 831 ist toll!" 42 43
-	DetailPrint "ScanStr2: $0, $1"
-	${StdUtils.ScanStr2} $0 $1 "Der Test sagt %d sowie %d ist toll!" "Der Hund sagt 571 horch 831 ist toll!" 42 43
-	DetailPrint "ScanStr2: $0, $1"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! Und 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 sowie 831 ist toll! OMG 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Test sagt 571 horch 831 ist toll! OMG 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-	${StdUtils.ScanStr3} $0 $1 $2 "Der Test sagt %d sowie %d ist toll! Und %d." "Der Hund sagt 571 horch 831 ist toll! OMG 325" 42 43 44
-	DetailPrint "ScanStr3: $0, $1, $2"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	StrCpy $1 "        Some Text        "
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-	
-	StrCpy $1 "Some Text"
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-
-	StrCpy $1 ""
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-	
-	StrCpy $1 "   "
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-
-	StrCpy $1 "$\tFoobar$\r$\n"
-	DetailPrint "String: '$1'"
-	StrCpy $0 $1
-	${StdUtils.TrimStr} $0
-	DetailPrint "TrimStr: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrLeft} $0
-	DetailPrint "TrimStrLeft: '$0'"
-	StrCpy $0 $1
-	${StdUtils.TrimStrRight} $0
-	DetailPrint "TrimStrRight: '$0'"
-SectionEnd
-
-!insertmacro NextTest
-
-Section
-	StrCpy $0 "ABC"
-	DetailPrint "String: $0"
-	${StdUtils.RevStr} $0
-	DetailPrint "RevStr: $0"
-	
-	StrCpy $0 "ABCD"
-	DetailPrint "String: $0"
-	${StdUtils.RevStr} $0
-	DetailPrint "RevStr: $0"
-
-	StrCpy $0 "Just a very long text with no specific meaning at all!"
-	DetailPrint "String: $0"
-	${StdUtils.RevStr} $0
-	DetailPrint "RevStr: $0"
-SectionEnd
-
-!insertmacro NextTest
diff --git a/windows/plugins/stdutils/Include/StdUtils.nsh b/windows/plugins/stdutils/Include/StdUtils.nsh
deleted file mode 100644
index 856e68c..0000000
--- a/windows/plugins/stdutils/Include/StdUtils.nsh
+++ /dev/null
@@ -1,301 +0,0 @@
-#################################################################################
-# StdUtils plug-in for NSIS
-# Copyright (C) 2004-2014 LoRd_MuldeR <MuldeR2 at GMX.de>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-#
-# http://www.gnu.org/licenses/lgpl-2.1.txt
-#################################################################################
-
-
-#################################################################################
-# FUNCTION DECLARTIONS
-#################################################################################
-
-!define StdUtils.Time             '!insertmacro _StdUtils_Time'          #time(), as in C standard library
-!define StdUtils.GetMinutes       '!insertmacro _StdUtils_GetMinutes'    #GetSystemTimeAsFileTime(), returns the number of minutes
-!define StdUtils.GetHours         '!insertmacro _StdUtils_GetHours'      #GetSystemTimeAsFileTime(), returns the number of hours
-!define StdUtils.GetDays          '!insertmacro _StdUtils_GetDays'       #GetSystemTimeAsFileTime(), returns the number of days
-!define StdUtils.Rand             '!insertmacro _StdUtils_Rand'          #rand(), as in C standard library
-!define StdUtils.RandMax          '!insertmacro _StdUtils_RandMax'       #rand(), as in C standard library, with maximum value
-!define StdUtils.RandMinMax       '!insertmacro _StdUtils_RandMinMax'    #rand(), as in C standard library, with minimum/maximum value
-!define StdUtils.RandList         '!insertmacro _StdUtils_RandList'      #rand(), as in C standard library, with list support
-!define StdUtils.FormatStr        '!insertmacro _StdUtils_FormatStr'     #sprintf(), as in C standard library, one '%d' placeholder
-!define StdUtils.FormatStr2       '!insertmacro _StdUtils_FormatStr2'    #sprintf(), as in C standard library, two '%d' placeholders
-!define StdUtils.FormatStr3       '!insertmacro _StdUtils_FormatStr3'    #sprintf(), as in C standard library, three '%d' placeholders
-!define StdUtils.ScanStr          '!insertmacro _StdUtils_ScanStr'       #sscanf(), as in C standard library, one '%d' placeholder
-!define StdUtils.ScanStr2         '!insertmacro _StdUtils_ScanStr2'      #sscanf(), as in C standard library, two '%d' placeholders
-!define StdUtils.ScanStr3         '!insertmacro _StdUtils_ScanStr3'      #sscanf(), as in C standard library, three '%d' placeholders
-!define StdUtils.TrimStr          '!insertmacro _StdUtils_TrimStr'       #Remove whitspaces from string, left and right
-!define StdUtils.TrimStrLeft      '!insertmacro _StdUtils_TrimStrLeft'   #Remove whitspaces from string, left side only
-!define StdUtils.TrimStrRight     '!insertmacro _StdUtils_TrimStrRight'  #Remove whitspaces from string, right side only
-!define StdUtils.RevStr           '!insertmacro _StdUtils_RevStr'        #Reverse a string, e.g. "reverse me" <-> "em esrever"
-!define StdUtils.SHFileMove       '!insertmacro _StdUtils_SHFileMove'    #SHFileOperation(), using the FO_MOVE operation
-!define StdUtils.SHFileCopy       '!insertmacro _StdUtils_SHFileCopy'    #SHFileOperation(), using the FO_COPY operation
-!define StdUtils.ExecShellAsUser  '!insertmacro _StdUtils_ExecShlUser'   #ShellExecute() as NON-elevated user from elevated installer
-!define StdUtils.InvokeShellVerb  '!insertmacro _StdUtils_InvkeShlVrb'   #Invokes a "shell verb", e.g. for pinning items to the taskbar
-!define StdUtils.ExecShellWaitEx  '!insertmacro _StdUtils_ExecShlWaitEx' #ShellExecuteEx(), returns the handle of the new process
-!define StdUtils.WaitForProcEx    '!insertmacro _StdUtils_WaitForProcEx' #WaitForSingleObject(), e.g. to wait for a running process
-!define StdUtils.GetParameter     '!insertmacro _StdUtils_GetParameter'  #Get the value of a specific command-line option
-!define StdUtils.GetAllParameters '!insertmacro _StdUtils_GetAllParams'  #Get complete command-line, but without executable name
-!define StdUtils.GetRealOSVersion '!insertmacro _StdUtils_GetRealOSVer'  #Get the *real* Windows version number, even on Windows 8.1+
-!define StdUtils.GetRealOSBuildNo '!insertmacro _StdUtils_GetRealOSBld'  #Get the *real* Windows build number, even on Windows 8.1+
-!define StdUtils.GetRealOSName    '!insertmacro _StdUtils_GetRealOSStr'  #Get the *real* Windows version, as a "friendly" name
-!define StdUtils.VerifyOSVersion  '!insertmacro _StdUtils_VrfyRealOSVer' #Compare *real* operating system to an expected version number
-!define StdUtils.VerifyOSBuildNo  '!insertmacro _StdUtils_VrfyRealOSBld' #Compare *real* operating system to an expected build number
-!define StdUtils.GetLibVersion    '!insertmacro _StdUtils_GetLibVersion' #Get the current StdUtils library version (for debugging)
-!define StdUtils.SetVerbose       '!insertmacro _StdUtils_SetVerbose'    #Enable or disable "verbose" mode (for debugging)
-
-
-#################################################################################
-# MACRO DEFINITIONS
-#################################################################################
-
-!macro _StdUtils_Time out
-	StdUtils::Time /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetMinutes out
-	StdUtils::GetMinutes /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetHours out
-	StdUtils::GetHours /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetDays out
-	StdUtils::GetDays /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_Rand out
-	StdUtils::Rand /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_RandMax out max
-	push ${max}
-	StdUtils::RandMax /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_RandMinMax out min max
-	push ${min}
-	push ${max}
-	StdUtils::RandMinMax /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_RandList count max
-	push ${max}
-	push ${count}
-	StdUtils::RandList /NOUNLOAD
-!macroend
-
-!macro _StdUtils_FormatStr out format val
-	push '${format}'
-	push ${val}
-	StdUtils::FormatStr /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_FormatStr2 out format val1 val2
-	push '${format}'
-	push ${val1}
-	push ${val2}
-	StdUtils::FormatStr2 /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_FormatStr3 out format val1 val2 val3
-	push '${format}'
-	push ${val1}
-	push ${val2}
-	push ${val3}
-	StdUtils::FormatStr3 /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_ScanStr out format input default
-	push '${format}'
-	push '${input}'
-	push ${default}
-	StdUtils::ScanStr /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_ScanStr2 out1 out2 format input default1 default2
-	push '${format}'
-	push '${input}'
-	push ${default1}
-	push ${default2}
-	StdUtils::ScanStr2 /NOUNLOAD
-	pop ${out1}
-	pop ${out2}
-!macroend
-
-!macro _StdUtils_ScanStr3 out1 out2 out3 format input default1 default2 default3
-	push '${format}'
-	push '${input}'
-	push ${default1}
-	push ${default2}
-	push ${default3}
-	StdUtils::ScanStr3 /NOUNLOAD
-	pop ${out1}
-	pop ${out2}
-	pop ${out3}
-!macroend
-
-!macro _StdUtils_TrimStr var
-	push ${var}
-	StdUtils::TrimStr /NOUNLOAD
-	pop ${var}
-!macroend
-
-!macro _StdUtils_TrimStrLeft var
-	push ${var}
-	StdUtils::TrimStrLeft /NOUNLOAD
-	pop ${var}
-!macroend
-
-!macro _StdUtils_TrimStrRight var
-	push ${var}
-	StdUtils::TrimStrRight /NOUNLOAD
-	pop ${var}
-!macroend
-
-!macro _StdUtils_RevStr var
-	push ${var}
-	StdUtils::RevStr /NOUNLOAD
-	pop ${var}
-!macroend
-
-!macro _StdUtils_SHFileMove out from to hwnd
-	push '${from}'
-	push '${to}'
-	push ${hwnd}
-	StdUtils::SHFileMove /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_SHFileCopy out from to hwnd
-	push '${from}'
-	push '${to}'
-	push ${hwnd}
-	StdUtils::SHFileCopy /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_ExecShlUser out file verb args
-	push '${file}'
-	push '${verb}'
-	push '${args}'
-	StdUtils::ExecShellAsUser /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_InvkeShlVrb out path file verb_id
-	push "${path}"
-	push "${file}"
-	push ${verb_id}
-	StdUtils::InvokeShellVerb /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_ExecShlWaitEx out_res out_val file verb args
-	push '${file}'
-	push '${verb}'
-	push '${args}'
-	StdUtils::ExecShellWaitEx /NOUNLOAD
-	pop ${out_res}
-	pop ${out_val}
-!macroend
-
-!macro _StdUtils_WaitForProcEx out handle
-	push '${handle}'
-	StdUtils::WaitForProcEx /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetParameter out name default
-	push '${name}'
-	push '${default}'
-	StdUtils::GetParameter /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetAllParams out truncate
-	push '${truncate}'
-	StdUtils::GetAllParameters /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetRealOSVer out_major out_minor out_spack
-	StdUtils::GetRealOsVersion /NOUNLOAD
-	pop ${out_major}
-	pop ${out_minor}
-	pop ${out_spack}
-!macroend
-
-!macro _StdUtils_GetRealOSBld out
-	StdUtils::GetRealOsBuildNo /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetRealOSStr out
-	StdUtils::GetRealOsName /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_VrfyRealOSVer out major minor spack
-	push '${major}'
-	push '${minor}'
-	push '${spack}'
-	StdUtils::VerifyRealOsVersion /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_VrfyRealOSBld out build
-	push '${build}'
-	StdUtils::VerifyRealOsBuildNo /NOUNLOAD
-	pop ${out}
-!macroend
-
-!macro _StdUtils_GetLibVersion out_ver out_tst
-	StdUtils::GetLibVersion /NOUNLOAD
-	pop ${out_ver}
-	pop ${out_tst}
-!macroend
-
-!macro _StdUtils_SetVerbose on
-	!if "${on}" != "0"
-		StdUtils::EnableVerboseMode /NOUNLOAD
-	!else
-		StdUtils::DisableVerboseMode /NOUNLOAD
-	!endif
-!macroend
-
-
-#################################################################################
-# MAGIC NUMBERS
-#################################################################################
-
-!define StdUtils.Const.ISV_PinToTaskbar 5386
-!define StdUtils.Const.ISV_UnpinFromTaskbar 5387
-!define StdUtils.Const.ISV_PinToStartmenu 5381
-!define StdUtils.Const.ISV_UnpinFromStartmenu 5382
diff --git a/windows/plugins/stdutils/LGPL.txt b/windows/plugins/stdutils/LGPL.txt
deleted file mode 100644
index 4362b49..0000000
--- a/windows/plugins/stdutils/LGPL.txt
+++ /dev/null
@@ -1,502 +0,0 @@
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-

-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-

-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-

-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-

-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-

-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-

-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-

-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-

-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-

-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/windows/plugins/stdutils/LGPL_EXCEPTION.txt b/windows/plugins/stdutils/LGPL_EXCEPTION.txt
deleted file mode 100644
index 77f33e1..0000000
--- a/windows/plugins/stdutils/LGPL_EXCEPTION.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-StdUtils plug-in LGPL Exception
--------------------------------
-
-The author of the StdUtils plug-in Library for NSIS adds the following clarification to the GNU Lesser General Public License version 2.1: Installer programs (executables) created with NSIS (Nullsoft Scriptable Install System) that make use of the StdUtils plug-in Library (strictly through the NSIS plug-in interface) and that contain/distribute verbatim copies of the StdUtils plug-in Library are considered a "work that uses the Library"; they do NOT represent a derivative of the Library.
diff --git a/windows/plugins/stdutils/Plugins/Release_ANSI/StdUtils.dll b/windows/plugins/stdutils/Plugins/Release_ANSI/StdUtils.dll
deleted file mode 100644
index aad4126..0000000
Binary files a/windows/plugins/stdutils/Plugins/Release_ANSI/StdUtils.dll and /dev/null differ
diff --git a/windows/plugins/stdutils/Plugins/Release_Unicode/StdUtils.dll b/windows/plugins/stdutils/Plugins/Release_Unicode/StdUtils.dll
deleted file mode 100644
index 9c85c40..0000000
Binary files a/windows/plugins/stdutils/Plugins/Release_Unicode/StdUtils.dll and /dev/null differ
diff --git a/windows/plugins/stdutils/ReadMe.txt b/windows/plugins/stdutils/ReadMe.txt
deleted file mode 100644
index 6c89253..0000000
--- a/windows/plugins/stdutils/ReadMe.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-
- StdUtils plug-in for NSIS
- Copyright (C) 2004-2013 LoRd_MuldeR <mulder2 at gmx.de>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
- http://www.gnu.org/licenses/lgpl-2.1.txt
-
- ----
-
- The author of the StdUtils plug-in Library for NSIS adds the
- following clarification to the GNU Lesser General Public License
- version 2.1: Installer programs (executables) created with NSIS
- (Nullsoft Scriptable Install System) that make use of the StdUtils
- plug-in Library (strictly through the NSIS plug-in interface) and
- that contain/distribute verbatim copies of the StdUtils plug-in
- Library are considered a "work that uses the Library"; they do NOT
- represent a derivative of the Library.
diff --git a/windows/plugins/stdutils/make_pack.bat b/windows/plugins/stdutils/make_pack.bat
deleted file mode 100644
index 8ddaa50..0000000
--- a/windows/plugins/stdutils/make_pack.bat
+++ /dev/null
@@ -1,54 +0,0 @@
- at echo off
-REM -------------------------------------------------------------------------
-set "PATH_MSVC=D:\Microsoft Visual Studio 10.0\VC"
-REM -------------------------------------------------------------------------
-call "%PATH_MSVC%\vcvarsall.bat" x86
-if "%VCINSTALLDIR%"=="" (
-	pause
-	exit
-)
-REM -------------------------------------------------------------------------
-set "ISO_DATE="
-if not exist "%~dp0\Contrib\StdUtils\utils\Date.exe" GOTO:EOF
-for /F "tokens=1,2 delims=:" %%a in ('"%~dp0\Contrib\StdUtils\utils\Date.exe" +ISODATE:%%Y-%%m-%%d') do (
-	if "%%a"=="ISODATE" set "ISO_DATE=%%b"
-)
-if "%ISO_DATE%"=="" (
-	pause
-	exit
-)
-REM -------------------------------------------------------------------------
-if exist "%~dp0\StdUtils.%ISO_DATE%.zip" (
-	attrib -r "%~dp0\StdUtils.%ISO_DATE%.zip"
-	del "%~dp0\StdUtils.%ISO_DATE%.zip"
-)
-if exist "%~dp0\StdUtils.%ISO_DATE%.zip" (
-	pause
-	exit
-)
-REM -------------------------------------------------------------------------
-MSBuild.exe /property:Configuration=Release_ANSI    /property:Platform=Win32 /target:Rebuild /verbosity:normal "%~dp0\Contrib\StdUtils\StdUtils.sln"
-if not "%ERRORLEVEL%"=="0" (
-	pause
-	exit
-)
-REM -------------------------------------------------------------------------
-MSBuild.exe /property:Configuration=Release_Unicode /property:Platform=Win32 /target:Rebuild /verbosity:normal "%~dp0\Contrib\StdUtils\StdUtils.sln"
-if not "%ERRORLEVEL%"=="0" (
-	pause
-	exit
-)
-REM -------------------------------------------------------------------------
-echo StdUtils plug-in for NSIS > "%~dp0\BUILD.tag"
-echo Copyright (C) 2004-2014 LoRd_MuldeR ^<MuldeR2 at GMX.de^> >> "%~dp0\BUILD.tag"
-echo. >> "%~dp0\BUILD.tag"
-echo Built on %DATE%, at %TIME%. >> "%~dp0\BUILD.tag"
-REM -------------------------------------------------------------------------
-pushd "%~dp0"
-set "EXCLUDE_MASK=make_pack.* *.exe *.zip *.7z *.user *.old *.sdf *examples/*.exe */obj/* */ipch/*"
-"%~dp0\Contrib\StdUtils\utils\Zip.exe" -r -9 -z "%~dp0\StdUtils.%ISO_DATE%.zip" "*.*" -x %EXCLUDE_MASK% < "%~dp0\BUILD.tag"
-popd
-attrib +r "%~dp0\StdUtils.%ISO_DATE%.zip" 
-del "%~dp0\BUILD.tag"
-REM -------------------------------------------------------------------------
-pause
diff --git a/windows/plugins/stdutils/make_pack.lst b/windows/plugins/stdutils/make_pack.lst
deleted file mode 100644
index f99bb27..0000000
--- a/windows/plugins/stdutils/make_pack.lst
+++ /dev/null
@@ -1,13 +0,0 @@
-*.zip
-*.7z
-*.rar
-*.old
-*.suo
-*.sdf
-*.exe
-*.vcxproj.user
-*.opensdf
-*\obj\*
-*\ipch\*
-make_pack.lst
-make_pack.bat

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/josm.git



More information about the Pkg-grass-devel mailing list