diff -Nru nsis-3.05/ChangeLog nsis-3.06.1/ChangeLog --- nsis-3.05/ChangeLog 2020-01-13 19:44:30.000000000 +0000 +++ nsis-3.06.1/ChangeLog 2020-08-01 02:31:06.000000000 +0000 @@ -1,3 +1,544 @@ +2020-08-01 02:28 kichik + + * /NSIS/tags/v3061: Tagging for release 3.06.1 + +2020-08-01 02:24 kichik + + * /NSIS/trunk/Menu/images/header.gif: 3.06.1 + +2020-08-01 02:09 kichik + + * /NSIS/trunk/Docs/src/history.but: update history + +2020-08-01 01:40 anders_k + + * /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Source/exehead/exec.c, /NSIS/trunk/Source/script.cpp: + Fixed SetBrandingImage crash + +2020-08-01 00:29 anders_k + + * /NSIS/trunk/Source/manifest.cpp: Fix GCC TtoC conversion + +2020-08-01 00:25 kichik + + * /NSIS/trunk/.travis.yml: don't ignore errors + +2020-07-31 23:11 kichik + + * /NSIS/tags/v306: Tagging for release 3.06 + +2020-07-31 23:08 kichik + + * /NSIS/trunk/Menu/images/header.gif: 3.06 + +2020-07-31 22:53 kichik + + * /NSIS/trunk/Include/Integration.nsh: fix eol + +2020-07-31 22:40 kichik + + * /NSIS/trunk/Examples/install-per-user.nsi, + /NSIS/trunk/Examples/install-shared.nsi: fix eol + +2020-07-31 21:38 kichik + + * /NSIS/trunk/Source/build.cpp, /NSIS/trunk/Source/manifest.cpp: + vc6 build fixes + +2020-07-31 21:06 anders_k + + * /NSIS/trunk/Source/build.cpp: Help VC6 find the type + +2020-07-31 20:07 kichik + + * /NSIS/trunk/Contrib/InstallOptions/testlink.ini, + /NSIS/trunk/Contrib/Makensisw/makensisw.h, + /NSIS/trunk/Contrib/System/System.html, + /NSIS/trunk/Docs/src/basic.but, /NSIS/trunk/Docs/src/build.but, + /NSIS/trunk/Docs/src/config.but, + /NSIS/trunk/Docs/src/headers.but, + /NSIS/trunk/Docs/src/history.but, /NSIS/trunk/Docs/src/intro.but, + /NSIS/trunk/Docs/src/library.but, + /NSIS/trunk/Docs/src/tutorial.but, + /NSIS/trunk/Docs/src/usefulfunc.but, + /NSIS/trunk/Docs/src/var.but, /NSIS/trunk/Examples/makensis.nsi, + /NSIS/trunk/Examples/NSISMenu.nsi, + /NSIS/trunk/Include/Sections.nsh, + /NSIS/trunk/Include/VB6RunTime.nsh, /NSIS/trunk/Menu/index.html, + /NSIS/trunk/README.md, /NSIS/trunk/Scripts/release.py: use https + +2020-07-31 19:52 kichik + + * /NSIS/trunk/Docs/src/history.but: update for release + +2020-07-25 20:13 anders_k + + * /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Source/manifest.cpp, /NSIS/trunk/Source/manifest.h, + /NSIS/trunk/Source/script.cpp, /NSIS/trunk/Source/tokens.cpp, + /NSIS/trunk/Source/tokens.h: Added experimental + ManifestAppendCustomString + +2020-07-18 23:18 anders_k + + * /NSIS/trunk/Source/icon.cpp: Fix unaligned memory access (bug + #290) + +2020-06-29 23:08 anders_k + + * /NSIS/trunk/Contrib/ExDLL/exdll.dsp, + /NSIS/trunk/Contrib/Library/RegTool/SConscript, + /NSIS/trunk/Contrib/Makensisw/SConscript, + /NSIS/trunk/Contrib/nsExec/SConscript, + /NSIS/trunk/Contrib/NSISdl/SConscript, + /NSIS/trunk/Contrib/UserInfo/SConscript, + /NSIS/trunk/Contrib/UserInfo/UserInfo.c, + /NSIS/trunk/Contrib/zip2exe/SConscript, + /NSIS/trunk/Source/exehead/SConscript: Try to work around the + mingw-w64 kernel32:OpenThreadToken library issue + +2020-06-28 22:02 anders_k + + * /NSIS/trunk/Source/exehead/util.h: Don't perform workaround on + 98/ME + +2020-06-28 21:55 anders_k + + * /NSIS/trunk/Source/exehead/Ui.c, + /NSIS/trunk/Source/exehead/util.h: Only perform component list + redraw hack on 95/NT4 to avoid flicker + +2020-06-27 23:18 anders_k + + * /NSIS/trunk/Docs/src/history.but, /NSIS/trunk/SCons/Config/gnu: + Don't let GCC 10 generate memmove calls (bug #1248) + +2020-06-26 22:52 anders_k + + * /NSIS/trunk/Docs/src/history.but, /NSIS/trunk/SCons/Config/gnu, + /NSIS/trunk/SCons/Tools/mstoolkit.py, /NSIS/trunk/SCons/utils.py, + /NSIS/trunk/SConstruct, /NSIS/trunk/Source/build.cpp: Primitive + SOURCE_DATE_EPOCH support for reproducible builds (patches 294) + +2020-06-07 21:05 anders_k + + * /NSIS/trunk/Contrib/Language files/SimpChinese.nlf, + /NSIS/trunk/Contrib/Language files/SimpChinese.nsh, + /NSIS/trunk/Docs/src/credits.but, + /NSIS/trunk/Docs/src/history.but: Improved Simplified Chinese + translation (Patch 297) + +2020-06-06 14:14 anders_k + + * /NSIS/trunk/Examples/NSISMenu.nsi, /NSIS/trunk/SConstruct: Try + harder to generate a usable version string + +2020-06-06 13:17 anders_k + + * /NSIS/trunk/Source/lineparse.cpp: Avoid GCC maybe-uninitialized + warning + +2020-05-23 19:28 anders_k + + * /NSIS/trunk/Source/tokens.cpp: Make all preprocessor instructions + lower case (patch 287) + +2020-05-21 00:44 anders_k + + * /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Examples/install-per-user.nsi, + /NSIS/trunk/Examples/install-shared.nsi, + /NSIS/trunk/Examples/makensis.nsi, + /NSIS/trunk/Include/Integration.nsh, + /NSIS/trunk/Include/SConscript: Added UnpinShortcut and + NotifyShell_AssocChanged macros + +2020-05-17 21:37 anders_k + + * /NSIS/trunk/Docs/src/bin/halibut/halibut.h: GCC -fno-common is + now the defaul in GCC 10 (xantares PR for RH/Fedora bug 1799650) + +2020-05-17 21:21 anders_k + + * /NSIS/trunk/Include/WinVer.nsh: WinVer Win10 20H1 detection + +2020-05-02 21:53 anders_k + + * /NSIS/trunk/Contrib/nsDialogs/nsDialogs.nsh, + /NSIS/trunk/Source/build.cpp, /NSIS/trunk/Source/build.h, + /NSIS/trunk/Source/lineparse.cpp, /NSIS/trunk/Source/lineparse.h, + /NSIS/trunk/Source/script.cpp, + /NSIS/trunk/Source/Tests/preprocessor.nsi, + /NSIS/trunk/Source/tokens.cpp: Added LineParser::gettoken_intx + with basic arithmetic expression handling for LoadAndSetImage, + SectionSetFlags and SectionSetInstTypes. + +2020-05-01 13:15 anders_k + + * /NSIS/trunk/Contrib/nsDialogs/nsDialogs.nsh, + /NSIS/trunk/Docs/src/ui.but, /NSIS/trunk/Source/build.h, + /NSIS/trunk/Source/exehead/exec.c, + /NSIS/trunk/Source/exehead/fileform.h, + /NSIS/trunk/Source/script.cpp, /NSIS/trunk/Source/tokens.cpp: + LoadAndSetImage can return the image handle + +2020-04-27 12:37 anders_k + + * /NSIS/trunk/Examples/install-shared.nsi: HKLM, not HKCU + +2020-04-27 12:36 anders_k + + * /NSIS/trunk/Contrib/nsDialogs/nsDialogs.nsh, + /NSIS/trunk/Contrib/nsDialogs/Readme.html, + /NSIS/trunk/Docs/src/history.but: Added NSD NetAddress control + and Date macros + +2020-04-23 18:31 anders_k + + * /NSIS/trunk/Contrib/Modern UI 2/Readme.html, + /NSIS/trunk/Contrib/nsDialogs/example.nsi, + /NSIS/trunk/Contrib/nsDialogs/nsDialogs.nsh, + /NSIS/trunk/Contrib/nsDialogs/Readme.html, + /NSIS/trunk/Include/WinMessages.nsh: Added DatePicker NSD control + +2020-04-22 21:37 anders_k + + * /NSIS/trunk/Contrib/nsDialogs/browse.c: Make sure filter buffer + has room for the double terminator + +2020-04-22 21:31 anders_k + + * /NSIS/trunk/Contrib/nsDialogs/Readme.html: Improved + nsDialogs::SelectFileDialog filter string format documentation + +2020-04-22 21:14 anders_k + + * /NSIS/trunk/Contrib/nsDialogs/nsDialogs.nsh, + /NSIS/trunk/Docs/src/defines.but, + /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Source/scriptpp.cpp, + /NSIS/trunk/Source/Tests/preprocessor.nsi, + /NSIS/trunk/Source/tokens.cpp: Added !define /intfmt + +2020-04-21 19:02 anders_k + + * /NSIS/trunk/Docs/src/usefulinfos.but: DumpLog example function + should not return anything + +2020-04-21 18:53 anders_k + + * /NSIS/trunk/Contrib/Makensisw/makensisw.cpp, + /NSIS/trunk/Contrib/Makensisw/makensisw.h, + /NSIS/trunk/Contrib/Makensisw/Readme.txt, + /NSIS/trunk/Contrib/Makensisw/resource.h, + /NSIS/trunk/Contrib/Makensisw/resource.rc, + /NSIS/trunk/Contrib/Makensisw/SConscript, + /NSIS/trunk/Contrib/Makensisw/utils.cpp: Added MakeNsisW GUID + generator command + +2020-04-20 17:48 anders_k + + * /NSIS/trunk/SConstruct: Make sure NSIS_VERSION is not just "v" + +2020-04-20 17:21 anders_k + + * /NSIS/trunk/Contrib/Makensisw/makensisw.cpp, + /NSIS/trunk/Contrib/Makensisw/makensisw.h, + /NSIS/trunk/Contrib/Makensisw/utils.h, + /NSIS/trunk/Source/build.cpp, /NSIS/trunk/Source/build.h, + /NSIS/trunk/Source/growbuf.h: Added API for compiler host to + choose a different output path on output error + +2020-04-14 17:37 anders_k + + * /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Docs/src/usefulfunc.but, + /NSIS/trunk/Docs/src/usefulinfos.but: Updated example functions + in the main documentation + +2020-04-13 19:16 anders_k + + * /NSIS/trunk/Docs/src/registry.but, + /NSIS/trunk/Examples/example1.nsi, + /NSIS/trunk/Examples/example2.nsi, + /NSIS/trunk/Examples/install-per-user.nsi, + /NSIS/trunk/Examples/install-shared.nsi, + /NSIS/trunk/Source/exehead/fileform.h: Added a file association + example to install-per-user.nsi + +2020-04-12 18:25 anders_k + + * /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Docs/src/registry.but, + /NSIS/trunk/Source/exehead/exec.c, + /NSIS/trunk/Source/exehead/fileform.h, + /NSIS/trunk/Source/exehead/util.c, + /NSIS/trunk/Source/exehead/util.h, /NSIS/trunk/Source/script.cpp, + /NSIS/trunk/Source/tokens.cpp: DeleteRegKey /ifempty now also + checks for values + +2020-04-06 18:04 anders_k + + * /NSIS/trunk/Docs/src/generalpurpose.but, + /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Include/LogicLib.nsh, /NSIS/trunk/Include/x64.nsh: + Added RegKeyIsEmpty LogicLib operator + +2020-03-29 20:08 anders_k + + * /NSIS/trunk/Contrib/Language files/German.nlf, + /NSIS/trunk/Contrib/Language files/German.nsh, + /NSIS/trunk/Docs/src/history.but: Updated German (SebStange PR) + +2020-03-29 19:10 anders_k + + * /NSIS/trunk/Examples/makensis.nsi, + /NSIS/trunk/Examples/SConscript, + /NSIS/trunk/Examples/viewhtml.nsi: Removed viewhtml.nsi + +2020-03-26 00:19 anders_k + + * /NSIS/trunk/Examples/makensis.nsi, + /NSIS/trunk/Examples/SConscript, + /NSIS/trunk/Examples/unicode.nsi, + /NSIS/trunk/Examples/UserVars.nsi: Updated unicode.nsi and + removed UserVars.nsi + +2020-03-24 02:35 anders_k + + * /NSIS/trunk/Contrib/Graphics/SConscript, + /NSIS/trunk/Contrib/Modern UI 2/SConscript, + /NSIS/trunk/Contrib/Modern UI/SConscript, + /NSIS/trunk/Docs/src/history.but, /NSIS/trunk/SConstruct: Python + 3 fixes (patch #296) + +2020-03-24 02:01 anders_k + + * /NSIS/trunk/Contrib/Language files/English.nsh, + /NSIS/trunk/Contrib/MultiUser/MultiUser.nsh, + /NSIS/trunk/Contrib/MultiUser/Readme.html, + /NSIS/trunk/Docs/src/history.but: * Added + MULTIUSER_INSTALLMODEPAGE_SHOWUSERNAME + * Decoupled the page from MUI + * Try FOLDERID_UserProgramFiles + +2020-03-18 21:27 anders_k + + * /NSIS/trunk/Contrib/Modern UI 2/Readme.html, + /NSIS/trunk/Contrib/Modern UI/Readme.html, + /NSIS/trunk/Contrib/MultiUser/MultiUser.nsh, + /NSIS/trunk/Contrib/MultiUser/Readme.html, + /NSIS/trunk/Docs/src/basic.but: Fixed + MULTIUSER_INSTALLMODE_FUNCTION and minor typos + +2020-03-18 01:01 anders_k + + * /NSIS/trunk/Docs/src/var.but, + /NSIS/trunk/Examples/install-per-user.nsi, + /NSIS/trunk/Examples/install-shared.nsi, + /NSIS/trunk/Examples/makensis.nsi, + /NSIS/trunk/Examples/SConscript: Added the install-shared.nsi + example + +2020-03-17 19:02 anders_k + + * /NSIS/trunk/Docs/src/generalpurpose.but, + /NSIS/trunk/Examples/install-per-user.nsi, + /NSIS/trunk/Examples/makensis.nsi, + /NSIS/trunk/Examples/SConscript: Added install-per-user.nsi + example + +2020-03-12 23:43 anders_k + + * /NSIS/trunk/Docs/src/generalpurpose.but, + /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Include/WinCore.nsh, + /NSIS/trunk/Source/exehead/exec.c, + /NSIS/trunk/Source/exehead/fileform.h, + /NSIS/trunk/Source/exehead/util.c, + /NSIS/trunk/Source/exehead/util.h, /NSIS/trunk/Source/script.cpp, + /NSIS/trunk/Source/tokens.cpp, /NSIS/trunk/Source/tokens.h: Added + GetKnownFolderPath + +2020-03-10 18:16 anders_k + + * /NSIS/trunk/Docs/src/flowcontrol.but, + /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Docs/src/registry.but, + /NSIS/trunk/Include/LogicLib.nsh, + /NSIS/trunk/Source/exehead/api.h, /NSIS/trunk/Source/script.cpp, + /NSIS/trunk/Source/tokens.cpp, /NSIS/trunk/Source/tokens.h: Added + IfRtlLanguage and GetRegView + +2020-03-10 01:44 anders_k + + * /NSIS/trunk/Docs/src/flowcontrol.but, + /NSIS/trunk/Docs/src/history.but, + /NSIS/trunk/Include/LogicLib.nsh, /NSIS/trunk/Source/build.h, + /NSIS/trunk/Source/script.cpp, /NSIS/trunk/Source/tokens.cpp, + /NSIS/trunk/Source/tokens.h: Added IfShellVarContextAll and + refactored flag instructions generation + +2020-03-05 00:07 kichik + + * /NSIS/trunk/.travis.yml: fix deploy + +2020-03-03 19:57 kichik + + * /NSIS/trunk/Contrib/SubStart/SConscript: fix #1242 - don't + install substart on linux + +2020-01-02 21:36 anders_k + + * /NSIS/trunk/.travis.yml: Update travis deploy script + +2020-01-01 21:13 anders_k + + * /NSIS/trunk/Contrib/ExDLL/nsis_tchar.h, + /NSIS/trunk/Contrib/InstallOptions/Readme.html, + /NSIS/trunk/Contrib/Makensisw/wndspy.cpp, + /NSIS/trunk/Contrib/Modern UI 2/License.txt, + /NSIS/trunk/Contrib/Modern UI 2/MUI2.nsh, + /NSIS/trunk/Contrib/Modern UI 2/Readme.html, + /NSIS/trunk/Contrib/Modern UI/License.txt, + /NSIS/trunk/Contrib/Modern UI/Readme.html, + /NSIS/trunk/Contrib/Modern UI/System.nsh, + /NSIS/trunk/Contrib/MultiUser/MultiUser.nsh, + /NSIS/trunk/Contrib/nsExec/nsexec.c, + /NSIS/trunk/Contrib/SubStart/substart.c, + /NSIS/trunk/Contrib/System/Source/Call.S, + /NSIS/trunk/Contrib/System/Source/Call-amd64.S, + /NSIS/trunk/Contrib/System/System.html, /NSIS/trunk/COPYING, + /NSIS/trunk/Docs/src/config.but, + /NSIS/trunk/Include/LangFile.nsh, + /NSIS/trunk/Include/VB6RunTime.nsh, + /NSIS/trunk/Source/7zip/7zGuids.cpp, + /NSIS/trunk/Source/7zip/7zip/Common/InBuffer.cpp, + /NSIS/trunk/Source/7zip/7zip/Common/InBuffer.h, + /NSIS/trunk/Source/7zip/7zip/Common/OutBuffer.cpp, + /NSIS/trunk/Source/7zip/7zip/Common/OutBuffer.h, + /NSIS/trunk/Source/7zip/7zip/Common/StreamUtils.cpp, + /NSIS/trunk/Source/7zip/7zip/Common/StreamUtils.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTree.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTree2.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTree3.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTree3Z.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTree3ZMain.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTree4.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTree4b.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTreeMain.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTreeMF.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/BinTree/BinTreeMFMain.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/IMatchFinder.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/LZInWindow.cpp, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/LZInWindow.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/LZOutWindow.cpp, + /NSIS/trunk/Source/7zip/7zip/Compress/LZ/LZOutWindow.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZMA/LZMA.h, + /NSIS/trunk/Source/7zip/7zip/Compress/LZMA/LZMAEncoder.cpp, + /NSIS/trunk/Source/7zip/7zip/Compress/LZMA/LZMAEncoder.h, + /NSIS/trunk/Source/7zip/7zip/Compress/RangeCoder/RangeCoder.h, + /NSIS/trunk/Source/7zip/7zip/Compress/RangeCoder/RangeCoderBit.cpp, + /NSIS/trunk/Source/7zip/7zip/Compress/RangeCoder/RangeCoderBit.h, + /NSIS/trunk/Source/7zip/7zip/Compress/RangeCoder/RangeCoderBitTree.h, + /NSIS/trunk/Source/7zip/7zip/Compress/RangeCoder/RangeCoderOpt.h, + /NSIS/trunk/Source/7zip/7zip/ICoder.h, + /NSIS/trunk/Source/7zip/7zip/IStream.h, + /NSIS/trunk/Source/7zip/Common/Alloc.cpp, + /NSIS/trunk/Source/7zip/Common/Alloc.h, + /NSIS/trunk/Source/7zip/Common/CRC.cpp, + /NSIS/trunk/Source/7zip/Common/CRC.h, + /NSIS/trunk/Source/7zip/Common/Defs.h, + /NSIS/trunk/Source/7zip/Common/MyCom.h, + /NSIS/trunk/Source/7zip/Common/MyGuidDef.h, + /NSIS/trunk/Source/7zip/Common/MyUnknown.h, + /NSIS/trunk/Source/7zip/Common/MyWindows.h, + /NSIS/trunk/Source/7zip/Common/StdAfx.h, + /NSIS/trunk/Source/7zip/Common/Types.h, + /NSIS/trunk/Source/7zip/LZMADecode.c, + /NSIS/trunk/Source/7zip/LZMADecode.h, + /NSIS/trunk/Source/afxres.h, /NSIS/trunk/Source/BinInterop.cpp, + /NSIS/trunk/Source/BinInterop.h, /NSIS/trunk/Source/build.cpp, + /NSIS/trunk/Source/build.h, /NSIS/trunk/Source/bzip2/blocksort.c, + /NSIS/trunk/Source/bzip2/bzlib.c, + /NSIS/trunk/Source/bzip2/bzlib.h, + /NSIS/trunk/Source/bzip2/compress.c, + /NSIS/trunk/Source/bzip2/decompress.c, + /NSIS/trunk/Source/bzip2/huffman.c, /NSIS/trunk/Source/cbzip2.h, + /NSIS/trunk/Source/clzma.cpp, /NSIS/trunk/Source/clzma.h, + /NSIS/trunk/Source/compressor.h, /NSIS/trunk/Source/crc32.c, + /NSIS/trunk/Source/crc32.h, /NSIS/trunk/Source/czlib.h, + /NSIS/trunk/Source/DialogTemplate.cpp, + /NSIS/trunk/Source/DialogTemplate.h, + /NSIS/trunk/Source/dirreader.cpp, /NSIS/trunk/Source/dirreader.h, + /NSIS/trunk/Source/exehead/afxres.h, + /NSIS/trunk/Source/exehead/api.h, + /NSIS/trunk/Source/exehead/bgbg.c, + /NSIS/trunk/Source/exehead/components.c, + /NSIS/trunk/Source/exehead/components.h, + /NSIS/trunk/Source/exehead/config.h, + /NSIS/trunk/Source/exehead/exec.c, + /NSIS/trunk/Source/exehead/exec.h, + /NSIS/trunk/Source/exehead/fileform.c, + /NSIS/trunk/Source/exehead/fileform.h, + /NSIS/trunk/Source/exehead/lang.h, + /NSIS/trunk/Source/exehead/Main.c, + /NSIS/trunk/Source/exehead/plugin.c, + /NSIS/trunk/Source/exehead/plugin.h, + /NSIS/trunk/Source/exehead/state.h, + /NSIS/trunk/Source/exehead/Ui.c, /NSIS/trunk/Source/exehead/ui.h, + /NSIS/trunk/Source/exehead/util.c, + /NSIS/trunk/Source/exehead/util.h, + /NSIS/trunk/Source/fileform.cpp, /NSIS/trunk/Source/fileform.h, + /NSIS/trunk/Source/growbuf.cpp, /NSIS/trunk/Source/growbuf.h, + /NSIS/trunk/Source/icon.cpp, /NSIS/trunk/Source/icon.h, + /NSIS/trunk/Source/lang.cpp, /NSIS/trunk/Source/lang.h, + /NSIS/trunk/Source/lineparse.cpp, /NSIS/trunk/Source/lineparse.h, + /NSIS/trunk/Source/makenssi.cpp, /NSIS/trunk/Source/manifest.cpp, + /NSIS/trunk/Source/manifest.h, /NSIS/trunk/Source/mmap.cpp, + /NSIS/trunk/Source/mmap.h, /NSIS/trunk/Source/Platform.h, + /NSIS/trunk/Source/Plugins.cpp, /NSIS/trunk/Source/Plugins.h, + /NSIS/trunk/Source/ResourceEditor.cpp, + /NSIS/trunk/Source/ResourceEditor.h, + /NSIS/trunk/Source/ResourceVersionInfo.cpp, + /NSIS/trunk/Source/ResourceVersionInfo.h, + /NSIS/trunk/Source/script.cpp, /NSIS/trunk/Source/scriptpp.cpp, + /NSIS/trunk/Source/ShConstants.cpp, + /NSIS/trunk/Source/ShConstants.h, /NSIS/trunk/Source/strlist.cpp, + /NSIS/trunk/Source/strlist.h, /NSIS/trunk/Source/tchar.h, + /NSIS/trunk/Source/tokens.cpp, /NSIS/trunk/Source/tokens.h, + /NSIS/trunk/Source/tstring.cpp, /NSIS/trunk/Source/tstring.h, + /NSIS/trunk/Source/uservars.h, /NSIS/trunk/Source/utf.cpp, + /NSIS/trunk/Source/utf.h, /NSIS/trunk/Source/util.cpp, + /NSIS/trunk/Source/util.h, + /NSIS/trunk/Source/validateunicode.cpp, + /NSIS/trunk/Source/validateunicode.h, + /NSIS/trunk/Source/winchar.cpp, /NSIS/trunk/Source/winchar.h, + /NSIS/trunk/Source/writer.cpp, /NSIS/trunk/Source/writer.h, + /NSIS/trunk/Source/zlib/INFBLOCK.C, + /NSIS/trunk/Source/zlib/ZCONF.H, /NSIS/trunk/Source/zlib/ZLIB.H, + /NSIS/trunk/Source/zlib/ZUTIL.H: (C) 2020 + +2019-12-29 02:17 anders_k + + * /NSIS/trunk/Docs/src/headers.but, + /NSIS/trunk/Docs/src/history.but: Added links to more useful + headers (Bug #1196) + +2019-12-16 03:13 kichik + + * /NSIS/trunk/.travis.yml: add build.log to nightly zip + +2019-12-16 02:47 kichik + + * /NSIS/trunk/.travis.yml: fix nightly + +2019-12-16 01:08 kichik + + * /NSIS/trunk/Scripts/release.py: nuke old folders so release + doesn't fail for no reason + 2019-12-16 00:47 kichik * /NSIS/tags/v305: Tagging for release 3.05 diff -Nru nsis-3.05/Contrib/ExDLL/exdll.dsp nsis-3.06.1/Contrib/ExDLL/exdll.dsp --- nsis-3.05/Contrib/ExDLL/exdll.dsp 2020-01-13 19:44:30.000000000 +0000 +++ nsis-3.06.1/Contrib/ExDLL/exdll.dsp 2020-06-29 23:08:12.000000000 +0000 @@ -52,8 +52,8 @@ # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib nsis\pluginapi.lib /nologo /entry:"DllMain" /dll /machine:I386 /nodefaultlib /out:"../../Plugins/exdll.dll" /opt:nowin98 +# ADD BASE LINK32 user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib /nologo /dll /machine:I386 +# ADD LINK32 user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib nsis\pluginapi.lib /nologo /entry:"DllMain" /dll /machine:I386 /nodefaultlib /out:"../../Plugins/exdll.dll" /opt:nowin98 # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "exdll - Win32 Debug" @@ -79,8 +79,8 @@ # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib nsis\pluginapi.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD BASE LINK32 user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib nsis\pluginapi.lib /nologo /dll /debug /machine:I386 /pdbtype:sept !ENDIF diff -Nru nsis-3.05/Contrib/ExDLL/nsis_tchar.h nsis-3.06.1/Contrib/ExDLL/nsis_tchar.h --- nsis-3.05/Contrib/ExDLL/nsis_tchar.h 2020-01-13 19:44:30.000000000 +0000 +++ nsis-3.06.1/Contrib/ExDLL/nsis_tchar.h 2020-01-01 21:13:57.000000000 +0000 @@ -3,7 +3,7 @@ * * This file is a part of NSIS. * - * Copyright (C) 1999-2019 Nullsoft and Contributors + * Copyright (C) 1999-2020 Nullsoft and Contributors * * This software is provided 'as-is', without any express or implied * warranty. diff -Nru nsis-3.05/Contrib/Graphics/SConscript nsis-3.06.1/Contrib/Graphics/SConscript --- nsis-3.05/Contrib/Graphics/SConscript 2020-01-13 19:44:30.000000000 +0000 +++ nsis-3.06.1/Contrib/Graphics/SConscript 2020-03-24 02:35:17.000000000 +0000 @@ -90,8 +90,8 @@ Import('defenv') -def join(prefix, list): - return map(lambda x: '%s/%s' % (prefix, x), list) +def join(prefix, list_): + return list(map(lambda x: '%s/%s' % (prefix, x), list_)) def dist(dir, files): defenv.DistributeContrib(join(dir, files), path='Graphics/%s' % dir) diff -Nru nsis-3.05/Contrib/InstallOptions/Readme.html nsis-3.06.1/Contrib/InstallOptions/Readme.html --- nsis-3.05/Contrib/InstallOptions/Readme.html 2020-01-13 19:44:30.000000000 +0000 +++ nsis-3.06.1/Contrib/InstallOptions/Readme.html 2020-01-01 21:13:57.000000000 +0000 @@ -883,7 +883,7 @@
 Original version Copyright © 2001 Michael Bishop
 DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM
-DLL version 2 Copyright © 2003-2019 Amir Szekely, Joost Verburg, Dave Laundon
+DLL version 2 Copyright © 2003-2020 Amir Szekely, Joost Verburg, Dave Laundon
 
 This software is provided 'as-is', without any express or implied
 warranty. In no event will the authors be held liable for any damages
diff -Nru nsis-3.05/Contrib/InstallOptions/testlink.ini nsis-3.06.1/Contrib/InstallOptions/testlink.ini
--- nsis-3.05/Contrib/InstallOptions/testlink.ini	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/InstallOptions/testlink.ini	2020-07-31 20:07:43.000000000 +0000
@@ -32,8 +32,8 @@
 Right=-40
 Top=70
 Bottom=80
-State=http://nsis.sourceforge.net/
-Text=* Homepage http://nsis.sourceforge.net/
+State=https://nsis.sourceforge.io/
+Text=* Homepage https://nsis.sourceforge.io/
 
 [Field 5]
 Type=Text
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/English.nsh" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/English.nsh"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/English.nsh"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/English.nsh"	2020-03-24 02:01:11.000000000 +0000
@@ -123,7 +123,7 @@
 !ifdef MULTIUSER_INSTALLMODEPAGE
   ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Choose Users"
   ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Choose for which users you want to install $(^NameDA)."
-  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Select whether you want to install $(^NameDA) for yourself only or for all users of this computer. $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Select whether you want to install $(^NameDA) only for yourself or for all users of this computer. $(^ClickNext)"
   ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Install for anyone using this computer"
   ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Install just for me"
 !endif
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/German.nlf" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/German.nlf"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/German.nlf"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/German.nlf"	2020-03-29 20:08:23.000000000 +0000
@@ -9,7 +9,7 @@
 1252
 # RTL - anything else than RTL means LTR
 -
-# Translation by L.King, changes by R. Bisswanger, Tim Kosse, Frederik Schwarzer
+# Translation by L.King, changes by R. Bisswanger, Tim Kosse, Frederik Schwarzer & Sebastian Stange
 # ^Branding
 Nullsoft Install System %s
 # ^SetupCaption
@@ -19,7 +19,7 @@
 # ^LicenseSubCaption
 : Lizenzabkommen
 # ^ComponentsSubCaption
-: Installations-Optionen
+: Installationsoptionen
 # ^DirSubCaption
 : Zielverzeichnis
 # ^InstallingSubCaption
@@ -27,7 +27,7 @@
 # ^CompletedSubCaption
 : Fertig
 # ^UnComponentsSubCaption
-: Deinstallations-Optionen
+: Deinstallationsoptionen
 # ^UnDirSubCaption
 : Quellverzeichnis
 # ^ConfirmSubCaption
@@ -83,21 +83,21 @@
 # ^Custom
 Benutzerdefiniert
 # ^ComponentsText
-Wählen Sie die Komponenten aus, die Sie installieren möchten, und wählen Sie diejenigen ab, die Sie nicht installiert werden sollen. $_CLICK
+Wählen Sie die Komponenten, welche Sie installieren wollen. $_CLICK
 # ^ComponentsSubText1
-Installations-Typ bestimmen:
+Installationstyp bestimmen:
 # ^ComponentsSubText2_NoInstTypes
-Wählen Sie die Komponenten aus, die Sie installieren möchten:
+Wählen Sie die zu installierenden Komponenten:
 # ^ComponentsSubText2
-oder wählen Sie zusätzliche Komponenten aus, die Sie installieren möchten:
+oder wählen Sie zusätzliche zu installierende Komponenten:
 # ^UnComponentsText
-Wählen Sie die Komponenten aus, die Sie entfernen möchten, und wählen Sie diejenigen ab, die Sie nicht entfernt werden sollen. $_CLICK
+Wählen Sie die Komponenten, welche Sie entfernen wollen. $_CLICK
 # ^UnComponentsSubText1
-Deinstallations-Typ bestimmen:
+Deinstallationstyp bestimmen:
 # ^UnComponentsSubText2_NoInstTypes
-Wählen Sie die Komponenten aus, die Sie entfernen möchten:
+Wählen Sie die zu entfernenden Komponenten:
 # ^UnComponentsSubText2
-oder wählen Sie zusätzliche Komponenten aus, die Sie entfernen möchten:
+oder wählen Sie zusätzliche Komponenten, welche Sie entfernen möchten:
 # ^DirText
 $(^NameDA) wird in das unten angegebene Verzeichnis installiert. Falls Sie in ein anderes Verzeichnis installieren möchten, klicken Sie auf Durchsuchen und wählen Sie ein anderes Verzeichnis aus. $_CLICK
 # ^DirSubText
@@ -141,7 +141,7 @@
 # ^CreateShortcut
 "Verknüpfung wird erstellt: "
 # ^CreatedUninstaller
-"Deinstallations-Programm wird erstellt: "
+"Deinstallationsprogramm wird erstellt: "
 # ^Delete
 "Datei wird gelöscht: "
 # ^DeleteOnReboot
@@ -151,7 +151,7 @@
 # ^ErrorCreating
 "Fehler beim Erstellen: "
 # ^ErrorDecompressing
-Fehler beim Entpacken. Ist das Installations-Programm beschädigt?
+Fehler beim Entpacken. Ist das Installationsprogramm beschädigt?
 # ^ErrorRegistering
 Fehler beim Registrieren der DLL
 # ^ExecShell
@@ -163,7 +163,7 @@
 # ^ErrorWriting
 "Entpacken: Fehler beim Schreiben der Datei "
 # ^InvalidOpcode
-Beschädigtes Installations-Programm: ungültiger Befehlscode
+Beschädigtes Installationsprogramm: ungültiger Befehlscode
 # ^NoOLE
 "Kein OLE für: "
 # ^OutputFolder
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/German.nsh" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/German.nsh"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/German.nsh"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/German.nsh"	2020-03-29 20:08:23.000000000 +0000
@@ -1,15 +1,15 @@
 ;Language: German (1031)
-;By L.King, changes by K. Windszus & R. Bisswanger & M. Simmack & D. Weiß & Frederik Schwarzer
+;By L.King, changes by K. Windszus, R. Bisswanger, M. Simmack, D. Weiß, Frederik Schwarzer & S. Stange
 
 !insertmacro LANGFILE "German" = "Deutsch" =
 
 !ifdef MUI_WELCOMEPAGE
-  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Willkommen beim Installations-$\r$\nAssistenten für $(^NameDA)"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Willkommen zur Installation$\r$\nvon $(^NameDA)"
   ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Dieser Assistent wird Sie durch die Installation von $(^NameDA) begleiten.$\r$\n$\r$\nEs wird empfohlen, vor der Installation alle anderen Programme zu schließen, damit bestimmte Systemdateien ohne Neustart ersetzt werden können.$\r$\n$\r$\n$_CLICK"
 !endif
 
 !ifdef MUI_UNWELCOMEPAGE
-  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Willkommen beim Deinstallations-$\r$\nAssistenten für $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Willkommen zur Deinstallation$\r$\nvon $(^NameDA)"
   ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Dieser Assistent wird Sie durch die Deinstallation von $(^NameDA) begleiten.$\r$\n$\r$\nBitte beenden Sie $(^NameDA), bevor Sie mit der Deinstallation fortfahren.$\r$\n$\r$\n$_CLICK"
 !endif
 
@@ -30,7 +30,7 @@
 !endif
 
 !ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
-  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Drücken Sie die Bild-Runter-Taste, um den Rest des Abkommens zu sehen."
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Drücken Sie die BILD-AB-Taste, um den Rest des Abkommens zu lesen."
 !endif
 
 !ifdef MUI_COMPONENTSPAGE
@@ -46,9 +46,9 @@
 !ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
   ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Beschreibung"
   !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
-    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Bewegen Sie den Mauszeiger über eine Komponente, um ihre Beschreibung zu sehen."
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Bewegen Sie den Mauszeiger über eine Komponente, um die Beschreibung zu lesen."
   !else
-    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Selektieren Sie eine Komponente, um ihre Beschreibung zu sehen."
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Wählen Sie eine Komponente, um die Beschreibung zu lesen."
   !endif
 !endif
 
@@ -82,7 +82,7 @@
 
 !ifdef MUI_FINISHPAGE
   ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Die Installation von $(^NameDA) wird abgeschlossen"
-  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) wurde auf Ihrem Computer installiert.$\r$\n$\r$\nKlicken Sie auf Fertigstellen, um den Installations-Assistenten zu schließen."
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) wurde auf Ihrem Computer installiert.$\r$\n$\r$\nKlicken Sie auf Fertigstellen, um den Installationsassistenten zu schließen."
   ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Windows muss neu gestartet werden, um die Installation von $(^NameDA) zu vervollständigen. Möchten Sie Windows jetzt neu starten?"
 !endif
 
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/SimpChinese.nlf" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/SimpChinese.nlf"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/SimpChinese.nlf"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/SimpChinese.nlf"	2020-06-07 21:05:16.000000000 +0000
@@ -1,5 +1,6 @@
 # Header, don't edit
 NLF v6
+# Start editing here
 # Language ID
 2052
 # Font and size - dash (-) means default 字体名称与大小
@@ -9,32 +10,32 @@
 936
 # RTL - anything else than RTL means LTR 由右至左书写
 -
-# Revision date: 2010-09-28
-# Translator: Kii Ali , , 
+# Revision date: 2020-06-03
+# Translator: Kii Ali , , , Tyson Tan 
 # ^Branding
 Nullsoft Install System %s
 # ^SetupCaption
 $(^Name) 安装
 # ^UninstallCaption
-$(^Name) 解除安装
+$(^Name) 卸载
 # ^LicenseSubCaption
 : 许可证协议
 # ^ComponentsSubCaption
 : 安装选项
 # ^DirSubCaption
-: 安装文件夹
+: 安装目录
 # ^InstallingSubCaption
 : 正在安装
 # ^CompletedSubCaption
 : 已完成
 # ^UnComponentsSubCaption
-: 解除安装选项
+: 卸载选项
 # ^UnDirSubCaption
-: 解除安装文件夹
+: 卸载文件夹
 # ^ConfirmSubCaption
 : 确认
 # ^UninstallingSubCaption
-: 正在解除安装
+: 正在卸载
 # ^UnCompletedSubCaption
 : 完成
 # ^BackBtn
@@ -44,13 +45,13 @@
 # ^AgreeBtn
 我接受(&I)
 # ^AcceptBtn
-我接受“许可证协议”中的条款(&A)
+我接受许可证协议中的条款(&A)
 # ^DontAcceptBtn
-我不接受“许可证协议”中的条款(&N)
+我不接受许可证协议中的条款(&N)
 # ^InstallBtn
 安装(&I)
 # ^UninstallBtn
-解除安装(&U)
+卸载(&U)
 # ^CancelBtn
 取消(&C)
 # ^CloseBtn
@@ -58,71 +59,71 @@
 # ^BrowseBtn
 浏览(&B)...
 # ^ShowDetailsBtn
-显示细节(&D)
+显示详情(&D)
 # ^ClickNext
-单击 [下一步(N)] 继续。
+点击 [下一步(N)] 继续。
 # ^ClickInstall
-单击 [安装(I)] 开始安装进程。
+点击 [安装(I)] 开始安装。
 # ^ClickUninstall
-单击 [解除安装(U)] 开始解除安装进程。
+点击 [卸载(U)] 开始卸载。
 # ^Name
 名称
 # ^Completed
 已完成
 # ^LicenseText
-在安装 $(^NameDA) 之前请检阅许可证协议。如果你接受协议中所有条款,单击 [我同意(I)] 。
+请在安装 $(^NameDA) 之前阅读许可证协议。如果你接受协议中所有条款,点击 [我同意(I)] 。
 # ^LicenseTextCB
-在安装 $(^NameDA) 之前请检阅许可证协议。如果你接受协议中所有条款,单击下方的勾选框。 $_CLICK
+请在安装 $(^NameDA) 之前阅读许可证协议。如果你接受协议中所有条款,点击下方的选框。 $_CLICK
 # ^LicenseTextRB
-在安装 $(^NameDA) 之前请检阅许可证协议。如果你接受协议中所有条款,选择下方的第一个选项。 $_CLICK
+请在安装 $(^NameDA) 之前阅读许可证协议。如果你接受协议中所有条款,选择下方的第一个选项。 $_CLICK
 # ^UnLicenseText
-在解除安装 $(^NameDA) 之前请检阅许可证协议。如果你接受协议中所有条款,单击 [我同意(I)] 。
+请在卸载 $(^NameDA) 之前阅读许可证协议。如果你接受协议中所有条款,点击 [我同意(I)] 。
 # ^UnLicenseTextCB
-在解除安装 $(^NameDA) 之前请检阅许可证协议。如果你接受协议中所有条款,单击下方的勾选框。 $_CLICK
+请在卸载 $(^NameDA) 之前阅读许可证协议。如果你接受协议中所有条款,点击下方的选框。 $_CLICK
 # ^UnLicenseTextRB
-在解除安装 $(^NameDA) 之前请检阅许可证协议。如果你接受协议中所有条款,选择下方的第一个选项。 $_CLICK
+请在卸载 $(^NameDA) 之前阅读许可证协议。如果你接受协议中所有条款,选择下方的第一个选项。 $_CLICK
 # ^Custom
 自定义
 # ^ComponentsText
-勾选你想要安装的组件,并解除勾选你不希望安装的组件。 $_CLICK
+请勾选你想安装的组件,并取消勾选你不想安装的组件。 $_CLICK
 # ^ComponentsSubText1
-选定安装的类型: 
+选定的安装的类型: 
 # ^ComponentsSubText2_NoInstTypes
 选定安装的组件: 
 # ^ComponentsSubText2
 或者,自定义选定想安装的组件: 
 # ^UnComponentsText
-勾选你想要解除安装的组件,并解除勾选你不想要望解除安装的组件。 $_CLICK
+请勾选你想卸载的组件,并取消勾选你不想卸载的组件。 $_CLICK
 # ^UnComponentsSubText1
-选择解除安装的类型: 
+选择卸载的类型: 
 # ^UnComponentsSubText2_NoInstTypes
-选择要解除安装的组件: 
+选择要卸载的组件: 
 # ^UnComponentsSubText2
 或是,选择想要解除安装的可选项组件: 
 # ^DirText
-Setup 将安装 $(^NameDA) 在下列文件夹。要安装到不同文件夹,单击 [浏览(B)...] 并选择其他的文件夹。 $_CLICK
+安装程序将把 $(^NameDA) 安装到以下目录。要安装到另一个目录,请点击 [浏览(B)...] 并选择其他的文件夹。 $_CLICK
 # ^DirSubText
-目标文件夹
+安装目录
 # ^DirBrowseText
-选择要安装 $(^NameDA) 的文件夹位置: 
+选择安装此软件的 $(^NameDA) 的位置: 
 # ^UnDirText
-Setup 将自下列文件夹解除安装 $(^NameDA) 。要解除安装到不同文件夹,单击 [浏览(B)...] 并选择其他的文件夹。 $_CLICK
+安装程序将把 $(^NameDA) 从以下目录卸载。要从另一个目录卸载,点击 [浏览(B)...] 并选择其他目录。 $_CLICK
 # ^UnDirSubText
 ""
 # ^UnDirBrowseText
-选择要解除安装 $(^NameDA) 的文件夹: 
+选择要卸载 $(^NameDA) 的目录: 
 # ^SpaceAvailable
 "可用空间: "
 # ^SpaceRequired
 "所需空间: "
 # ^UninstallingText
-这个向导将从你的计算机解除安装 $(^NameDA) 。 $_CLICK
+此向导将从本机卸载 $(^NameDA) 。 $_CLICK
 # ^UninstallingSubText
-解除安装目录: 
+卸载目录: 
 # ^FileError
-不能打开要写入的文件: \r\n\t"$0"\r\n单击 [Abort] 停止安装,\r\n [Retry] 重新尝试写入文件,或\r\n [Ignore] 忽略这个文件。
+无法打开要写入的文件: \r\n\t"$0"\r\n点击 [Abort] 停止安装,\r\n [Retry] 重新尝试写入文件,或者\r\n [Ignore] 忽略这个文件。
 # ^FileError_NoIgnore
-不能打开要写入的文件: \r\n\t"$0"\r\n单击 [Retry] 重新尝试写入文件,或\r\n [Cancel] 停止安装。
+无法打开要写入的文件: \r\n\t"$0"\r\n点击 [Retry] 重新尝试写入文件,或者\r\n [Cancel] 停止安装。
 # ^CantWrite
 "无法写入: "
 # ^CopyFailed
@@ -132,7 +133,7 @@
 # ^Registering
 "正在注册: "
 # ^Unregistering
-"正在解除注册: "
+"正在取消注册: "
 # ^SymbolNotFound
 "无法找到符号: "
 # ^CouldNotLoad
@@ -142,45 +143,45 @@
 # ^CreateShortcut
 "创建快捷方式: "
 # ^CreatedUninstaller
-"创建解除安装程序: "
+"创建卸载程序: "
 # ^Delete
 "删除文件: "
 # ^DeleteOnReboot
 "重新启动后删除: "
 # ^ErrorCreatingShortcut
-"正在创建快捷方式时发生错误: "
+"创建快捷方式时发生错误: "
 # ^ErrorCreating
-"正在创建时发生错误: "
+"创建时发生错误: "
 # ^ErrorDecompressing
-"正在解压缩数据发生错误!已损坏的安装程序?"
+"解压缩数据时发生错误!请检查安装程序是否损坏。"
 # ^ErrorRegistering
-"正在注册 DLL 时发生错误"
+"注册 DLL 时发生错误"
 # ^ExecShell
-"运行壳层程序: "
+"执行外壳程序: "
 # ^Exec
-"运行: "
+"执行: "
 # ^Extract
-"抽取: "
+"解压缩: "
 # ^ErrorWriting
 "抽取: 无法写入文件 "
 # ^InvalidOpcode
-"安装损毁: 无效的操作代码 "
+"安装程序损坏: 无效的操作代码 "
 # ^NoOLE
 "没有 OLE 用于: "
 # ^OutputFolder
 "输出目录: "
 # ^RemoveFolder
-"移除目录: "
+"删除目录: "
 # ^RenameOnReboot
-"重新启动后重命名: "
+"重新启动之后重命名: "
 # ^Rename
 "重命名: "
 # ^Skipped
 "已跳过: "
 # ^CopyDetails
-"复制细节到剪贴板 "
+"复制详情到剪贴板 "
 # ^LogInstall
-"日志安装进程"
+"记录安装过程到日志"
 # byte
 B
 # kilo
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/SimpChinese.nsh" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/SimpChinese.nsh"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Language files/SimpChinese.nsh"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Language files/SimpChinese.nsh"	2020-06-07 21:05:16.000000000 +0000
@@ -1,130 +1,130 @@
 ;Language: 'Chinese (Simplified)' (2052)
-;Translator: Kii Ali , , 
-;Revision date: 2010-09-28
+;Translator: Kii Ali , , , Tyson Tan 
+;Revision date: 2020-06-03
 
 !insertmacro LANGFILE "SimpChinese" "Chinese (Simplified)" "中文(简体)" "Hanyu (Jiantizi)"
 
 !ifdef MUI_WELCOMEPAGE
-  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "欢迎使用 $(^NameDA) 安装向导"
-  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "这个向导将指引你完成 $(^NameDA) 的安装进程。$\r$\n$\r$\n在开始安装之前,建议先关闭其他所有应用程序。这将允许“安装程序”更新指定的系统文件,而不需要重新启动你的计算机。$\r$\n$\r$\n$_CLICK"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "欢迎使用 $(^NameDA) 安装程序"
+  ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "此程序将引导你完成 $(^NameDA) 的安装。$\r$\n$\r$\n在安装之前,请先关闭其他所有应用程序。这将确保安装程序能够更新所需的系统文件,从而避免在安装后重新启动计算机。$\r$\n$\r$\n$_CLICK"
 !endif
 
 !ifdef MUI_UNWELCOMEPAGE
-  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "欢迎使用 $(^NameDA) 解除安装向导"
-  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "这个向导将全程指引你 $(^NameDA) 的解除安装进程。$\r$\n$\r$\n在开始解除安装之前,确认 $(^NameDA) 并未运行当中。$\r$\n$\r$\n$_CLICK"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "欢迎使用 $(^NameDA) 卸载程序"
+  ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "此程序将引导你完成 $(^NameDA) 的卸载。$\r$\n$\r$\n在卸载之前,请确认 $(^NameDA) 已经关闭。$\r$\n$\r$\n$_CLICK"
 !endif
 
 !ifdef MUI_LICENSEPAGE
   ${LangFileString} MUI_TEXT_LICENSE_TITLE "许可证协议"
-  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "在安装 $(^NameDA) 之前,请检阅授权条款。"
-  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "如果你接受协议中的条款,单击 [我同意(I)] 继续安装。必须要接受协议才能安装 $(^NameDA) 。"
-  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "如果你接受协议中的条款,单击下方的勾选框。必须要接受协议才能安装 $(^NameDA)。$_CLICK"
-  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "如果你接受协议中的条款,选择下方第一个选项。必须要接受协议才能安装 $(^NameDA)。$_CLICK"
+  ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "在安装 $(^NameDA) 之前,请阅读许可证条款。"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "如果你接受许可证的条款,请点击 [我同意(I)] 继续安装。你必须在同意后才能安装 $(^NameDA) 。"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "如果你接受许可证的条款,请点击勾选下方的选框。你必须在同意后才能安装 $(^NameDA)。$_CLICK"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "如果你接受许可证的条款,请选择下方第一个选项。你必须在同意后才能安装 $(^NameDA)。$_CLICK"
 !endif
 
 !ifdef MUI_UNLICENSEPAGE
   ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "许可证协议"
-  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "在解除安装 $(^NameDA) 之前,请检阅授权条款。"
-  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "如果你接受协议中的条款,单击 [我同意(I)] 继续解除安装。如果你选定 [取消(C)] ,安装程序将会关闭。必须要接受协议才能解除安装 $(^NameDA) 。"
-  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "如果你接受协议中的条款,单击下方的勾选框。必须要接受协议才能解除安装 $(^NameDA)。$_CLICK"
-  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "如果你接受协议中的条款,选择下方第一个选项。必须要接受协议才能解除安装 $(^NameDA)。$_CLICK"
+  ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "在卸载 $(^NameDA) 之前,请阅读许可证条款。"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "如果你接受许可证的条款,请点击 [我同意(I)] 继续卸载。如果你点击 [取消(C)] ,卸载程序将会关闭。你必须在同意后才能卸载 $(^NameDA) 。"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "如果你接受许可证的条款,点击勾选下方的选框。你必须在同意后才能卸载 $(^NameDA)。$_CLICK"
+  ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "如果你接受许可证的条款,请选择下方第一个选项。你必须在同意后才能卸载 $(^NameDA)。$_CLICK"
 !endif
 
 !ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE
-  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "检阅协议的其余部分,按 [PgDn] 往下卷动页面。"
+  ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "要阅读协议的其余部分,请按 [PgDn] 键向下翻页。"
 !endif
 
 !ifdef MUI_COMPONENTSPAGE
   ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "选择组件"
-  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "选择你想要安装 $(^NameDA) 的那些功能。"
+  ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "选择你想安装的 $(^NameDA) 功能组件。"
 !endif
 
 !ifdef MUI_UNCOMPONENTSPAGE
-  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "选定组件"
-  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "选定 $(^NameDA) 当中你想要解除安装的功能。"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "选择组件"
+  ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "选择你想卸载的 $(^NameDA) 功能组件。"
 !endif
 
 !ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE
-  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "描述"
+  ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "组件描述"
   !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE
-    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "停悬你的鼠标指针到组件之上,便可见到它的描述。"
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "将光标悬停在组件名称之上,即可显示它的功能描述。"
   !else
-    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "选择一个组件,便可见到它的描述。"
+    ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "点击选中组件,即可显示它的功能描述。"
   !endif
 !endif
 
 !ifdef MUI_DIRECTORYPAGE
-  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "选定安装位置"
-  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "选定 $(^NameDA) 要安装的文件夹。"
+  ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "选择安装位置"
+  ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "选择 $(^NameDA) 的安装文件夹。"
 !endif
 
 !ifdef MUI_UNDIRECTORYPAGE
-  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "选定解除安装位置"
-  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "选定 $(^NameDA) 要解除安装的文件夹。"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "选择卸载位置"
+  ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "选择 $(^NameDA) 的卸载文件夹。"
 !endif
 
 !ifdef MUI_INSTFILESPAGE
   ${LangFileString} MUI_TEXT_INSTALLING_TITLE "正在安装"
-  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA) 正在安装,请等候。"
+  ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA) 正在安装,请稍候。"
   ${LangFileString} MUI_TEXT_FINISH_TITLE "安装完成"
-  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "安装程序已成功地运行完成。"
-  ${LangFileString} MUI_TEXT_ABORT_TITLE "安装己中止"
-  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "安装程序并未成功地运行完成。"
+  ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "安装程序成功完成安装。"
+  ${LangFileString} MUI_TEXT_ABORT_TITLE "安装中止"
+  ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "安装程序未能完成安装。"
 !endif
 
 !ifdef MUI_UNINSTFILESPAGE
-  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "正在解除安装"
-  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "$(^NameDA) 正在解除安装,请等候。"
-  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "解除安装已完成"
-  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "解除安装程序已成功地运行完成。"
-  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "解除安装已中止"
-  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "解除安装程序并未成功地运行完成。"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "正在卸载"
+  ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "$(^NameDA) 正在卸载,请稍候。"
+  ${LangFileString} MUI_UNTEXT_FINISH_TITLE "卸载完成"
+  ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "卸载程序成功完成卸载。"
+  ${LangFileString} MUI_UNTEXT_ABORT_TITLE "卸载中止"
+  ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "卸载程序未能完成卸载。"
 !endif
 
 !ifdef MUI_FINISHPAGE
-  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "正在完成 $(^NameDA) 安装向导"
-  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) 已安装在你的系统。$\r$\n单击 [完成(F)] 关闭此向导。"
-  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "你的系统需要重新启动,以便完成 $(^NameDA) 的安装。现在要重新启动吗?"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "$(^NameDA) 安装程序结束"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) 已经成功安装到本机。$\r$\n点击 [完成(F)] 关闭安装程序。"
+  ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "必须重新启动本机才能完成 $(^NameDA) 的安装。是否立即重新启动?"
 !endif
 
 !ifdef MUI_UNFINISHPAGE
-  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "正在完成 $(^NameDA) 解除安装向导"
-  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) 已从你的计算机解除安装。$\r$\n$\r$\n单击 [完成] 关闭这个向导。"
-  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "计算机需要重新启动,以便完成 $(^NameDA) 的解除安装。现在想要重新启动吗?"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "$(^NameDA) 卸载程序结束"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) 已经成功从本机卸载。$\r$\n$\r$\n点击 [完成] 关闭卸载程序。"
+  ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "必须重新启动本机才能完成 $(^NameDA) 的卸载。是否立即重新启动?"
 !endif
 
 !ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE
-  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "是,现在重新启动(&Y)"
-  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "否,我稍后再自行重新启动(&N)"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "是,立即重新启动(&Y)"
+  ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "否,我会在之后重新启动(&N)"
   ${LangFileString} MUI_TEXT_FINISH_RUN "运行 $(^NameDA)(&R)"
-  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "显示“自述文件”(&M)"
+  ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "显示自述文件(&M)"
   ${LangFileString} MUI_BUTTONTEXT_FINISH "完成(&F)"  
 !endif
 
 !ifdef MUI_STARTMENUPAGE
-  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "选择“开始菜单”文件夹"
-  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "选择“开始菜单”文件夹,用于程序的快捷方式。"
-  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "选择“开始菜单”文件夹,以便创建程序的快捷方式。你也可以输入名称,创建新文件夹。"
+  ${LangFileString} MUI_TEXT_STARTMENU_TITLE "选择开始菜单文件夹"
+  ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "选择开始菜单文件夹,用于创建程序的快捷方式。"
+  ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "选择开始菜单文件夹,用于创建程序的快捷方式。你也可以输入自定义名称,创建新文件夹。"
   ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "不要创建快捷方式(&N)"
 !endif
 
 !ifdef MUI_UNCONFIRMPAGE
-  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "解除安装 $(^NameDA)"
-  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "从你的计算机解除安装 $(^NameDA) 。"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "卸载 $(^NameDA)"
+  ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "从本机卸载 $(^NameDA) 。"
 !endif
 
 !ifdef MUI_ABORTWARNING
-  ${LangFileString} MUI_TEXT_ABORTWARNING "你确实要退出 $(^Name) 安装程序吗?"
+  ${LangFileString} MUI_TEXT_ABORTWARNING "确定要退出 $(^Name) 安装程序吗?"
 !endif
 
 !ifdef MUI_UNABORTWARNING
-  ${LangFileString} MUI_UNTEXT_ABORTWARNING "你确实要退出 $(^Name) 解除安装程序吗?"
+  ${LangFileString} MUI_UNTEXT_ABORTWARNING "确定要退出 $(^Name) 卸载程序吗?"
 !endif
 
 !ifdef MULTIUSER_INSTALLMODEPAGE
-  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "选定用户"
-  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "选定你想要安装 $(^NameDA) 给那一个用户。"
-  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "选择你想要安装 $(^NameDA) 给自己使用,或此计算机的所有用户。 $(^ClickNext)"
-  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "安装给此计算机的所有用户(&A)"
-  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "安装给自己(&M)"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "选择用户"
+  ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "选择为哪些用户安装 $(^NameDA) 。"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "选择只为自己安装 $(^NameDA) ,还是为本机的所有用户安装。 $(^ClickNext)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "为本机所有用户安装(&A)"
+  ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "只为我自己安装(&M)"
 !endif
diff -Nru nsis-3.05/Contrib/Library/RegTool/SConscript nsis-3.06.1/Contrib/Library/RegTool/SConscript
--- nsis-3.05/Contrib/Library/RegTool/SConscript	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Library/RegTool/SConscript	2020-06-29 23:08:12.000000000 +0000
@@ -5,11 +5,11 @@
 """)
 
 libs = Split("""
-	kernel32
-	oleaut32
 	advapi32
-	user32
+	oleaut32
 	ole32
+	user32
+	kernel32
 """)
 
 Import('BuildUtil env GetArcCPU')
diff -Nru nsis-3.05/Contrib/Makensisw/makensisw.cpp nsis-3.06.1/Contrib/Makensisw/makensisw.cpp
--- nsis-3.05/Contrib/Makensisw/makensisw.cpp	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/makensisw.cpp	2020-04-21 18:53:55.000000000 +0000
@@ -497,9 +497,10 @@
     case MakensisAPI::QUERYHOST: {
       if (MakensisAPI::QH_OUTPUTCHARSET == wParam) {
         const UINT reqcp = 1200; // We want UTF-16LE
-        SetWindowLongPtr(hwndDlg, DWLP_MSGRESULT, (LONG_PTR)(1+reqcp));
-        return TRUE;
+        return DlgRet(hwndDlg, (LONG_PTR)(1+reqcp));
       }
+      else if (MakensisAPI::QH_SUPPORTEDVERSION == wParam)
+        return DlgRet(hwndDlg, 0x03006000);
       return FALSE;
     }
     case WM_NOTIFY:
@@ -546,7 +547,8 @@
       return TRUE;
     case WM_COPYDATA:
     {
-      PCOPYDATASTRUCT cds = PCOPYDATASTRUCT(lParam);
+      using namespace MakensisAPI;
+      COPYDATASTRUCT *cds = (COPYDATASTRUCT*) lParam, cdsret;
       switch (cds->dwData) {
         case MakensisAPI::NOTIFY_SCRIPT:
           MemSafeFree(g_sdata.input_script);
@@ -564,6 +566,24 @@
           g_sdata.output_exe = (TCHAR*) MemAlloc(cds->cbData * sizeof(TCHAR));
           lstrcpy(g_sdata.output_exe, (TCHAR *)cds->lpData);
           break;
+        case MakensisAPI::PROMPT_FILEPATH:
+          if ((((PROMPT_FILEPATH_DATA*)cds->lpData)->Platform & 7) == sizeof(TCHAR))
+          {
+            TCHAR buf[MAX_PATH];
+            lstrcpyn(buf, FSPath::FindLastComponent(((PROMPT_FILEPATH_DATA*)cds->lpData)->Path), COUNTOF(buf));
+            OPENFILENAME of = { sizeof(of) };
+            of.hwndOwner = hwndDlg;
+            of.lpstrFilter = _T("*.exe\0*.exe\0*\0*.*\0");
+            of.lpstrFile = buf, of.nMaxFile = COUNTOF(buf);
+            of.Flags = OFN_EXPLORER|OFN_ENABLESIZING|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_PATHMUSTEXIST|OFN_NOCHANGEDIR;
+            if (GetSaveFileName(&of))
+            {
+              cdsret.dwData = cds->dwData, cdsret.cbData = (lstrlen(buf) + 1) * sizeof(TCHAR), cdsret.lpData = buf;
+              SendMessage((HWND) wParam, WM_COPYDATA, (SIZE_T) hwndDlg, (SIZE_T) &cdsret);
+            }
+            return TRUE;
+          }
+          return FALSE;
       }
       return TRUE;
     }
@@ -670,6 +690,17 @@
           extern int ShowWndSpy(HWND hOwner);
           return ShowWndSpy(g_sdata.hwnd);
         }
+        case IDM_GUIDGEN:
+        {
+          GUID guid;
+          TCHAR buf[41 * (1 + (sizeof(TCHAR) < 2))];
+          FARPROC func = GetKeyState(VK_CONTROL) < 0 ? GetSysProcAddr("RPCRT4", "UuidCreateSequential") : NULL;
+          ((HRESULT(WINAPI*)(GUID*))(func ? func : GetSysProcAddr("RPCRT4", "UuidCreate")))(&guid);
+          ((int(WINAPI*)(GUID*, TCHAR*, int))(GetSysProcAddr("OLE32", "StringFromGUID2")))(&guid, buf, 39);
+          for (UINT i = 0; sizeof(TCHAR) < 2; ++i) if (!(buf[i] = (CHAR) ((WCHAR*)buf)[i])) break; // WCHAR to TCHAR if ANSI
+          LogMessage(g_sdata.hwnd, (buf[38] = '\r', buf[39] = '\n', buf[40] = '\0', buf));
+          break;
+        }
         case IDM_TEST:
         case IDC_TEST:
         {
diff -Nru nsis-3.05/Contrib/Makensisw/makensisw.h nsis-3.06.1/Contrib/Makensisw/makensisw.h
--- nsis-3.05/Contrib/Makensisw/makensisw.h	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/makensisw.h	2020-07-31 20:07:43.000000000 +0000
@@ -39,20 +39,20 @@
 #define SupportsW95() ( FALSE && SupportsW9X() && !DpiAwarePerMonitor() )
 
 // Defines
-#define NSIS_URL     "http://nsis.sourceforge.net/"
+#define NSIS_URL     "https://nsis.sourceforge.io/"
 #define NSIS_FORUM_URL "http://forums.winamp.com/forumdisplay.php?forumid=65"
-#define NSIS_UC_URL  "http://nsis.sourceforge.net/update.php?version="
-#define NSIS_DL_URL  "http://nsis.sourceforge.net/download/"
+#define NSIS_UC_URL  "https://nsis.sourceforge.io/update.php?version="
+#define NSIS_DL_URL  "https://nsis.sourceforge.io/download/"
 #ifdef UNICODE
-#define USAGE        _T("Usage:\r\n\r\n \x2022 File \x203a Load Script...\r\n \x2022 Drag the .nsi file into this window\r\n \x2022 Right click the .nsi file and choose \"Compile NSIS Script\"")
+#define USAGE        _T("Usage:\r\n\r\n \x2022 File \x203a Load Script...\r\n \x2022 Drag the .nsi file into this window\r\n \x2022 Right click the .nsi file and choose \"Compile NSIS Script\"\r\n")
 #else
-#define USAGE        _T("Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSIS Script\"")
+#define USAGE        _T("Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSIS Script\"\r\n")
 #endif
 #define COPYRIGHT    _T("Copyright (C) 2002 Robert Rainwater")
 #define CONTRIB      _T("Fritz Elfert, Justin Frankel, Amir Szekely, Sunil Kamath, Joost Verburg, Anders Kjersem")
 #define DONATE       _T("Donate to support NSIS development.")
 #define DONATEURL    { 'h'|x,'t','t'|x,'p',':'|x,'/'|x,'/'|x,'n'|x,'s'|x,'i'|x,'s'|x,'.'|x,'s'|x,'f'|x,'.','n'|x,'e'|x,'t'|x,'/'|x,'r','/'|x,'D'|x,'o'|x,'n'|x,'a'|x,'t'|x,'e'|x,'\0' } // "Encrypted"
-#define DOCPATH      "http://nsis.sourceforge.net/Docs/"
+#define DOCPATH      "https://nsis.sourceforge.io/Docs/"
 #define LOCALDOCS    _T("\\NSIS.chm")
 #define ERRBOXTITLE  0 //_T("Error")
 #define NSISERROR    _T("Unable to intialize MakeNSIS. Please verify that makensis.exe is in the same directory as makensisw.exe.")
@@ -94,18 +94,26 @@
   extern const TCHAR* SigintEventNameFmt;
   extern const TCHAR* SigintEventNameLegacy;
 
-  enum notify_e {
+  enum datatransfer_e {
     NOTIFY_SCRIPT,
     NOTIFY_WARNING,
     NOTIFY_ERROR,
-    NOTIFY_OUTPUT
+    NOTIFY_OUTPUT,
+    PROMPT_FILEPATH
   };
   enum sndmsg_e {
     QUERYHOST = WM_APP
   };
   enum QUERYHOST_e {
-    QH_OUTPUTCHARSET = 1
+    QH_OUTPUTCHARSET = 1,
+    QH_ENABLESTDERR,
+    QH_SUPPORTEDVERSION
   };
+  typedef struct {
+    unsigned char Platform;
+    unsigned char Reserved;
+    TCHAR Path[1];
+  } PROMPT_FILEPATH_DATA;
 }
 
 typedef enum {
diff -Nru nsis-3.05/Contrib/Makensisw/Readme.txt nsis-3.06.1/Contrib/Makensisw/Readme.txt
--- nsis-3.05/Contrib/Makensisw/Readme.txt	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/Readme.txt	2020-04-21 18:53:55.000000000 +0000
@@ -208,6 +208,8 @@
 - Added log window colors
 - Basic AppEvents custom sound support for BuildComplete, BuildWarning and BuildError
 
+2.3.6
+- Added GUID generator tool
 
 Copyright Information
 ---------------------
diff -Nru nsis-3.05/Contrib/Makensisw/resource.h nsis-3.06.1/Contrib/Makensisw/resource.h
--- nsis-3.05/Contrib/Makensisw/resource.h	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/resource.h	2020-04-21 18:53:55.000000000 +0000
@@ -126,6 +126,7 @@
 #define IDM_COPY                        537
 #define IDM_UI_SWITCHOWNEDWINDOW        538 // Alt+F6
 #define IDM_UI_SWITCHSECTION            539 // F6
+#define IDM_GUIDGEN                     540
 
 
 // Next default values for new objects
@@ -133,7 +134,7 @@
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        138
-#define _APS_NEXT_COMMAND_VALUE         540
+#define _APS_NEXT_COMMAND_VALUE         541
 #define _APS_NEXT_CONTROL_VALUE         241
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
diff -Nru nsis-3.05/Contrib/Makensisw/resource.rc nsis-3.06.1/Contrib/Makensisw/resource.rc
--- nsis-3.05/Contrib/Makensisw/resource.rc	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/resource.rc	2020-04-21 18:53:55.000000000 +0000
@@ -111,6 +111,7 @@
         MENUITEM "&Settings\tCtrl+S",         IDM_SETTINGS
         MENUITEM "", -1, MFT_SEPARATOR
         MENUITEM "&Window Info",                IDM_WNDSPY
+        MENUITEM "Generate &GUID",              IDM_GUIDGEN
         MENUITEM "", -1, MFT_SEPARATOR
         MENUITEM "Clear Recent &Files List",    IDM_CLEAR_MRU_LIST
     END
diff -Nru nsis-3.05/Contrib/Makensisw/SConscript nsis-3.06.1/Contrib/Makensisw/SConscript
--- nsis-3.05/Contrib/Makensisw/SConscript	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/SConscript	2020-06-29 23:08:12.000000000 +0000
@@ -31,7 +31,6 @@
 """)
 
 libs = Split("""
-	kernel32
 	advapi32
 	user32
 	gdi32
@@ -42,6 +41,7 @@
 	comctl32
 	wininet
 	winmm
+	kernel32
 """)
 
 docs = Split("""
@@ -58,7 +58,7 @@
 	res = res,
 	resources = resources,
 	entry = None,
-	defines = ['RELEASE=2.3.5'],
+	defines = ['RELEASE=2.3.6'],
 	docs = docs,
 	root_util = True
 )
diff -Nru nsis-3.05/Contrib/Makensisw/utils.cpp nsis-3.06.1/Contrib/Makensisw/utils.cpp
--- nsis-3.05/Contrib/Makensisw/utils.cpp	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/utils.cpp	2020-04-21 18:53:55.000000000 +0000
@@ -295,7 +295,7 @@
 
   static const PACKEDCMDID_T cmds [] = {
     PACKCMDID(IDM_EXIT), PACKCMDID(IDM_LOADSCRIPT), PACKCMDID(IDM_EDITSCRIPT), 
-    PACKCMDID(IDM_SAVE), PACKCMDID(IDM_CLEARLOG),
+    PACKCMDID(IDM_SAVE), PACKCMDID(IDM_CLEARLOG), PACKCMDID(IDM_GUIDGEN),
     PACKCMDID(IDM_COMPRESSOR), PACKCMDID(IDM_COMPRESSOR_SUBMENU),
     PACKCMDID(IDM_RECOMPILE), PACKCMDID(IDM_RECOMPILE_TEST)
   };
@@ -362,7 +362,7 @@
   ClearLog(g_sdata.hwnd);
   SetTitle(g_sdata.hwnd,NULL);
   PostMessage(g_sdata.hwnd, WM_MAKENSIS_UPDATEUISTATE, 0, 0);
-  if (lstrlen(g_sdata.script)==0) {
+  if (!g_sdata.script[0]) {
     LogMessage(g_sdata.hwnd,USAGE);
     SetUIState_NoScript();
     DragAcceptFiles(g_sdata.hwnd,TRUE);
diff -Nru nsis-3.05/Contrib/Makensisw/utils.h nsis-3.06.1/Contrib/Makensisw/utils.h
--- nsis-3.05/Contrib/Makensisw/utils.h	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/utils.h	2020-04-20 17:21:04.000000000 +0000
@@ -64,6 +64,7 @@
 void ErrorMessage(HWND hwnd,const TCHAR *str);
 void CenterOnParent(HWND hwnd);
 void SetDialogFocus(HWND hDlg, HWND hCtl); // Use this and not SetFocus()!
+#define DlgRet(hDlg, val) ( SetWindowLongPtr((hDlg), DWLP_MSGRESULT, (val)) | TRUE )
 HWND GetComboEdit(HWND hCB);
 #define DisableItems(hwnd) EnableDisableItems(hwnd, 0)
 #define EnableItems(hwnd) EnableDisableItems(hwnd, 1)
@@ -90,6 +91,18 @@
 void LoadMRUFile(int position);
 void ClearMRUList();
 
+struct FSPath {
+  template static inline bool IsAgnosticSeparator(const T c) { return '\\' == c || '/' == c; }
+  template static T* FindLastComponent(T*p) // Note: Returns "" for "dir\"
+  {
+    for (T *sep = 0, *start = p;; ++p)
+      if (!*p)
+        return sep ? ++sep : start;
+      else if (IsAgnosticSeparator(*p))
+        sep = p;
+  }
+};
+
 bool FileExists(const TCHAR *fname);
 bool OpenUrlInDefaultBrowser(HWND hwnd, LPCSTR Url);
 
diff -Nru nsis-3.05/Contrib/Makensisw/wndspy.cpp nsis-3.06.1/Contrib/Makensisw/wndspy.cpp
--- nsis-3.05/Contrib/Makensisw/wndspy.cpp	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/Makensisw/wndspy.cpp	2020-01-01 21:13:57.000000000 +0000
@@ -1,4 +1,4 @@
-// Copyright (C) 2018-2019 Anders Kjersem
+// Copyright (C) 2018-2020 Anders Kjersem
 //
 // This file is a part of NSIS.
 //
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/License.txt" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/License.txt"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/License.txt"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/License.txt"	2020-01-01 21:13:57.000000000 +0000
@@ -1,4 +1,4 @@
-Copyright 2002-2019 Joost Verburg
+Copyright 2002-2020 Joost Verburg
 
 This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
 
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/Readme.html" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/Readme.html"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/Readme.html"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/Readme.html"	2020-03-18 21:27:58.000000000 +0000
@@ -1026,7 +1026,7 @@
 Function CustomPageFunction
   !insertmacro MUI_HEADER_TEXT $(PAGE_TITLE) $(PAGE_SUBTITLE)
   !insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioFile.ini"
-FuctionEnd
+FunctionEnd
 

@@ -1130,7 +1130,7 @@ License Terms

-Copyright © 2002-2019 Joost Verburg
+Copyright © 2002-2020 Joost Verburg
 
 This software is provided 'as-is', without any express or implied
 warranty. In no event will the authors be held liable for any damages
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/SConscript" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/SConscript"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/SConscript"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/SConscript"	2020-03-24 02:35:17.000000000 +0000
@@ -22,8 +22,8 @@
 
 Import('defenv')
 
-def join(prefix, list):
-	return map(lambda x: '%s/%s' % (prefix, x), list)
+def join(prefix, list_):
+	return list(map(lambda x: '%s/%s' % (prefix, x), list_))
 
 defenv.DistributeDocs(docs, path=target)
 path = 'images'
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/System.nsh" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/System.nsh"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI/System.nsh"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI/System.nsh"	2020-01-01 21:13:57.000000000 +0000
@@ -1,7 +1,7 @@
 /*
 
 NSIS Modern User Interface - Version 1.81
-Copyright 2002-2019 Joost Verburg
+Copyright 2002-2020 Joost Verburg
 
 */
 
@@ -10,7 +10,7 @@
 !define MUI_INCLUDED
 !define MUI_SYSVERSION "1.81"
 !verbose pop
-!echo "NSIS Modern User Interface version ${MUI_SYSVERSION} - Copyright 2002-2019 Joost Verburg"
+!echo "NSIS Modern User Interface version ${MUI_SYSVERSION} - Copyright 2002-2020 Joost Verburg"
 
 ;--------------------------------
 !verbose push 3
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/License.txt" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/License.txt"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/License.txt"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/License.txt"	2020-01-01 21:13:57.000000000 +0000
@@ -1,4 +1,4 @@
-Copyright  2002-2019 Joost Verburg
+Copyright  2002-2020 Joost Verburg
 
 This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
 
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/MUI2.nsh" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/MUI2.nsh"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/MUI2.nsh"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/MUI2.nsh"	2020-01-01 21:13:57.000000000 +0000
@@ -1,7 +1,7 @@
 /*
 
 NSIS Modern User Interface - Version 2.1
-Copyright 2002-2019 Joost Verburg
+Copyright 2002-2020 Joost Verburg
 Contributors: Amir Szekely, Anders Kjersem
 
 */
@@ -11,7 +11,7 @@
 !define MUI_INCLUDED
 !define MUI_SYSVERSION "2.1"
 !verbose pop
-!echo "NSIS Modern User Interface version ${MUI_SYSVERSION} - Copyright 2002-2019 Joost Verburg"
+!echo "NSIS Modern User Interface version ${MUI_SYSVERSION} - Copyright 2002-2020 Joost Verburg"
 
 ;--------------------------------
 !verbose push 3
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/Readme.html" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/Readme.html"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/Readme.html"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/Readme.html"	2020-04-23 18:31:23.000000000 +0000
@@ -1033,8 +1033,9 @@
 
 Function CustomPageFunction
   !insertmacro MUI_HEADER_TEXT $(PAGE_TITLE) $(PAGE_SUBTITLE)
+  nsDialogs::...
   ...
-FuctionEnd
+FunctionEnd
 

@@ -1131,7 +1132,7 @@ License Terms

-Copyright © 2002-2019 Joost Verburg
+Copyright © 2002-2020 Joost Verburg
 
 This software is provided 'as-is', without any express or implied
 warranty. In no event will the authors be held liable for any damages
diff -Nru "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/SConscript" "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/SConscript"
--- "/tmp/tmp4fFHT6/3qtKD2nE5m/nsis-3.05/Contrib/Modern UI 2/SConscript"	2020-01-13 19:44:30.000000000 +0000
+++ "/tmp/tmp4fFHT6/1_clpwvWOn/nsis-3.06.1/Contrib/Modern UI 2/SConscript"	2020-03-24 02:35:17.000000000 +0000
@@ -34,8 +34,8 @@
 
 Import('defenv')
 
-def join(prefix, list):
-	return map(lambda x: '%s/%s' % (prefix, x), list)
+def join(prefix, list_):
+	return list(map(lambda x: '%s/%s' % (prefix, x), list_))
 
 defenv.DistributeDocs(docs, path=target)
 defenv.DistributeDocs(join('../Modern UI/images',doc_images), path='%s/%s'%(target,'images'))
diff -Nru nsis-3.05/Contrib/MultiUser/MultiUser.nsh nsis-3.06.1/Contrib/MultiUser/MultiUser.nsh
--- nsis-3.05/Contrib/MultiUser/MultiUser.nsh	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/MultiUser/MultiUser.nsh	2020-03-24 02:01:11.000000000 +0000
@@ -4,25 +4,29 @@
 
 Installer configuration for multi-user Windows environments
 
-Copyright 2008-2019 Joost Verburg
+Copyright 2008-2020 Joost Verburg
 
 */
 
 !ifndef MULTIUSER_INCLUDED
-!define MULTIUSER_INCLUDED
-!verbose push
-!verbose 3
+!define MULTIUSER_INCLUDED 20200319
+!verbose push 3
 
 ;Standard NSIS header files
 
 !ifdef MULTIUSER_MUI
   !include MUI2.nsh
 !endif
-!include nsDialogs.nsh
 !include LogicLib.nsh
 !include WinVer.nsh
 !include FileFunc.nsh
 
+!if ${NSIS_PTR_SIZE} > 4
+!define /IfNDef MULTIUSER_MINWIN 0x501
+!else
+!define /IfNDef MULTIUSER_MINWIN 0x400
+!endif
+
 ;Variables
 
 Var MultiUser.Privileges
@@ -123,39 +127,46 @@
 !macro MULTIUSER_INSTALLMODE_CURRENTUSER UNINSTALLER_PREFIX UNINSTALLER_FUNCPREFIX
 
   ;Install mode initialization - per-user
-  
-  ${if} ${IsNT}  
-  
+
+  !if ${MULTIUSER_MINWIN} < 0x500
+  ${if} ${IsNT}
+  !endif
+
     StrCpy $MultiUser.InstallMode CurrentUser
-    
     SetShellVarContext current
   
     !if "${UNINSTALLER_PREFIX}" != UN
       ;Set default installation location for installer  
       !ifdef MULTIUSER_INSTALLMODE_INSTDIR
+        !if ${MULTIUSER_MINWIN} < 0x490
         ${if} ${AtLeastWin2000}
-          StrCpy $INSTDIR "$LOCALAPPDATA\${MULTIUSER_INSTALLMODE_INSTDIR}"
+        !endif
+          GetKnownFolderPath $INSTDIR {5CD7AEE2-2219-4A67-B85D-6C9CE15660CB} ; FOLDERID_UserProgramFiles
+          StrCmp $INSTDIR "" 0 +2
+          StrCpy $INSTDIR "$LocalAppData\Programs" ; Fallback directory
+          StrCpy $INSTDIR "$INSTDIR\${MULTIUSER_INSTALLMODE_INSTDIR}"
+        !if ${MULTIUSER_MINWIN} < 0x490
         ${else}
           StrCpy $INSTDIR "$PROGRAMFILES\${MULTIUSER_INSTALLMODE_INSTDIR}"
         ${endif}
+        !endif
       !endif
     !endif
   
     !ifdef MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY & MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME
-  
       ReadRegStr $MultiUser.InstDir HKCU "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY}" "${MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME}"
-  
       ${if} $MultiUser.InstDir != ""
         StrCpy $INSTDIR $MultiUser.InstDir
       ${endif}
-  
     !endif
-  
+
     !ifdef MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION
       Call "${MULTIUSER_INSTALLMODE_${UNINSTALLER_PREFIX}FUNCTION}"
     !endif
-  
+
+  !if ${MULTIUSER_MINWIN} < 0x500
   ${endif}
+  !endif
 
 !macroend
 
@@ -188,7 +199,7 @@
 !macro MULTIUSER_INIT_QUIT UNINSTALLER_FUNCPREFIX
 
   !ifdef MULTIUSER_INIT_${UNINSTALLER_FUNCPREFIX}FUNCTIONQUIT
-    Call "${MULTIUSER_INIT_${UNINSTALLER_FUNCPREFIX}FUCTIONQUIT}
+    Call "${MULTIUSER_INIT_${UNINSTALLER_FUNCPREFIX}FUNCTIONQUIT}"
   !else
     Quit
   !endif
@@ -203,17 +214,9 @@
     !define /ReDef MULTIUSER_TMPSTR_CAPTION "$(^Name)"
   !endif
 
-  !ifndef MULTIUSER_INIT_TEXT_ADMINREQUIRED
-    !define MULTIUSER_INIT_TEXT_ADMINREQUIRED "${MULTIUSER_TMPSTR_CAPTION} requires administrator privileges."
-  !endif
-
-  !ifndef MULTIUSER_INIT_TEXT_POWERREQUIRED
-    !define MULTIUSER_INIT_TEXT_POWERREQUIRED "${MULTIUSER_TMPSTR_CAPTION} requires at least Power User privileges."
-  !endif
-
-  !ifndef MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE
-    !define MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE "Your user account does not have sufficient privileges to install $(^Name) for all users of this computer."
-  !endif
+  !define /IfNDef MULTIUSER_INIT_TEXT_ADMINREQUIRED "${MULTIUSER_TMPSTR_CAPTION} requires administrator privileges."
+  !define /IfNDef MULTIUSER_INIT_TEXT_POWERREQUIRED "${MULTIUSER_TMPSTR_CAPTION} requires at least Power User privileges."
+  !define /IfNDef MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE "Your user account does not have sufficient privileges to install $(^Name) for all users of this computer."
 
   !undef MULTIUSER_TMPSTR_CAPTION
 
@@ -228,7 +231,9 @@
   UserInfo::GetAccountType
   Pop $MultiUser.Privileges
   
+  !if ${MULTIUSER_MINWIN} < 0x500
   ${if} ${IsNT}
+  !endif
   
     ;Check privileges
   
@@ -324,46 +329,50 @@
   
     !endif
 
-  !if ${NSIS_PTR_SIZE} <= 4
+  !if ${MULTIUSER_MINWIN} < 0x500
   ${else}
   
     ;Not running Windows NT, per-user installation not supported
     Call ${UNINSTALLER_FUNCPREFIX}MultiUser.InstallMode.AllUsers
 
-  !endif
   ${endif}
+  !endif
 
 !macroend
 
 !macro MULTIUSER_INIT
-  !verbose push
-  !verbose 3
-  
-  !insertmacro MULTIUSER_INIT_CHECKS "" ""
-  
+  !verbose push 3
+  !ifdef __UNINSTALL__
+    !insertmacro MULTIUSER_UNINIT
+  !else
+    !insertmacro MULTIUSER_INIT_CHECKS "" ""
+  !endif
   !verbose pop 
 !macroend
 
 !ifndef MULTIUSER_NOUNINSTALL
-
 !macro MULTIUSER_UNINIT
-  !verbose push
-  !verbose 3
-  
+  !verbose push 3
   !insertmacro MULTIUSER_INIT_CHECKS Un un.
-  
   !verbose pop 
 !macroend
-
 !endif
 
 /*
 
-Modern UI 2 page
+Mode selection page
 
 */
 
-!ifdef MULTIUSER_MUI
+!macro MULTIUSER_PAGE_FUNCTION_CUSTOM TYPE
+  !ifmacrodef MUI_PAGE_FUNCTION_CUSTOM
+    !insertmacro MUI_PAGE_FUNCTION_CUSTOM "${TYPE}"
+  !endif
+  !ifdef MULTIUSER_PAGE_CUSTOMFUNCTION_${TYPE}
+    Call "${MULTIUSER_PAGE_CUSTOMFUNCTION_${TYPE}}"
+    !undef MULTIUSER_PAGE_CUSTOMFUNCTION_${TYPE}
+  !endif
+!macroend
 
 !macro MULTIUSER_INSTALLMODEPAGE_INTERFACE
 
@@ -375,30 +384,30 @@
     
     Var MultiUser.InstallModePage.AllUsers
     Var MultiUser.InstallModePage.CurrentUser
-    
-    Var MultiUser.InstallModePage.ReturnValue
+
   !endif
 
 !macroend
 
-!macro MULTIUSER_PAGEDECLARATION_INSTALLMODE
+!macro MULTIUSER_PAGEDECLARATION_INSTALLMODE UNPREFIX UNIQUEID
 
-  !insertmacro MUI_SET MULTIUSER_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLMODEPAGE ""
+  !define /ReDef MULTIUSER_${UNPREFIX}INSTALLMODEPAGE "" ; Unlock strings in the language file(s)
   !insertmacro MULTIUSER_INSTALLMODEPAGE_INTERFACE
 
-  !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_TOP "$(MULTIUSER_INNERTEXT_INSTALLMODE_TOP)"
-  !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS "$(MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS)"
-  !insertmacro MUI_DEFAULT MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER "$(MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER)"  
+  !define /IfNDef MULTIUSER_INSTALLMODEPAGE_TEXT_TOP "$(MULTIUSER_INNERTEXT_INSTALLMODE_TOP)"
+  !define /IfNDef MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS "$(MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS)"
+  !define /IfNDef MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER "$(MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER)"  
 
   PageEx custom
 
-    PageCallbacks MultiUser.InstallModePre_${MUI_UNIQUEID} MultiUser.InstallModeLeave_${MUI_UNIQUEID}
+    PageCallbacks MultiUser.InstallModePre_${UNIQUEID} MultiUser.InstallModeLeave_${UNIQUEID}
 
-    Caption " "
+    !define /IfNDef MULTIUSER_INSTALLMODEPAGE_CAPTION " "
+    Caption "${MULTIUSER_INSTALLMODEPAGE_CAPTION}"
 
   PageExEnd
 
-  !insertmacro MULTIUSER_FUNCTION_INSTALLMODEPAGE MultiUser.InstallModePre_${MUI_UNIQUEID} MultiUser.InstallModeLeave_${MUI_UNIQUEID}
+  !insertmacro MULTIUSER_FUNCTION_INSTALLMODEPAGE MultiUser.InstallModePre_${UNIQUEID} MultiUser.InstallModeLeave_${UNIQUEID}
 
   !undef MULTIUSER_INSTALLMODEPAGE_TEXT_TOP
   !undef MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS
@@ -408,17 +417,16 @@
 
 !macro MULTIUSER_PAGE_INSTALLMODE
 
-  ;Modern UI page for install mode
-
-  !verbose push
-  !verbose 3
+  !verbose push 3
   
   !ifndef MULTIUSER_EXECUTIONLEVEL_ALLUSERS
     !error "A mixed-mode installation requires MULTIUSER_EXECUTIONLEVEL to be set to Admin, Power or Highest."
   !endif
-  
-  !insertmacro MUI_PAGE_INIT
-  !insertmacro MULTIUSER_PAGEDECLARATION_INSTALLMODE
+
+  !ifmacrodef MUI_PAGE_INIT
+    !insertmacro MUI_PAGE_INIT
+  !endif
+  !insertmacro MULTIUSER_PAGEDECLARATION_INSTALLMODE "" ${__COUNTER__}
   
   !verbose pop
 
@@ -426,61 +434,75 @@
 
 !macro MULTIUSER_FUNCTION_INSTALLMODEPAGE PRE LEAVE
 
-  ;Page functions of Modern UI page
+  !include nsDialogs.nsh
 
   Function "${PRE}"
-  
+
+    !if ${MULTIUSER_MINWIN} < 0x500
     ${ifnot} ${IsNT}
       Abort
     ${endif}
-  
+    !endif
+
     ${if} $MultiUser.Privileges != "Power"
       ${andif} $MultiUser.Privileges != "Admin"
       Abort
     ${endif}
-    
-    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
-    !insertmacro MUI_HEADER_TEXT_PAGE $(MULTIUSER_TEXT_INSTALLMODE_TITLE) $(MULTIUSER_TEXT_INSTALLMODE_SUBTITLE)
-    
+
+    !insertmacro MULTIUSER_PAGE_FUNCTION_CUSTOM PRE
+    !ifmacrodef MUI_HEADER_TEXT_PAGE
+      !insertmacro MUI_HEADER_TEXT_PAGE $(MULTIUSER_TEXT_INSTALLMODE_TITLE) $(MULTIUSER_TEXT_INSTALLMODE_SUBTITLE)
+    !endif
+
     nsDialogs::Create 1018
     Pop $MultiUser.InstallModePage
 
-    ${NSD_CreateLabel} 0u 0u 300u 40u "${MULTIUSER_INSTALLMODEPAGE_TEXT_TOP}"
+    ${NSD_CreateLabel} 0 2u 100% 42u "${MULTIUSER_INSTALLMODEPAGE_TEXT_TOP}"
     Pop $MultiUser.InstallModePage.Text
 
-    ${NSD_CreateRadioButton} 20u 50u 280u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS}"
+    ${NSD_CreateRadioButton} 15u 50u -15u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_ALLUSERS}"
     Pop $MultiUser.InstallModePage.AllUsers
-    
-    ${NSD_CreateRadioButton} 20u 70u 280u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER}"
+
+    !ifdef MULTIUSER_INSTALLMODEPAGE_SHOWUSERNAME
+    !ifdef NOSYSTEMCALLS
+    ReadEnvStr $0 USERNAME
+    !else
+    System::Call 'ADVAPI32::GetUserName(t""r0,*i${NSIS_MAX_STRLEN})'
+    !endif
+    StrCmp $0 "" +2
+      StrCpy $0 " ($0)"
+    ${NSD_CreateRadioButton} 15u 70u -15u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER}$0"
+    !else
+    ${NSD_CreateRadioButton} 15u 70u -15u 10u "${MULTIUSER_INSTALLMODEPAGE_TEXT_CURRENTUSER}"
+    !endif
     Pop $MultiUser.InstallModePage.CurrentUser
-    
+
     ${if} $MultiUser.InstallMode == "AllUsers"
       SendMessage $MultiUser.InstallModePage.AllUsers ${BM_SETCHECK} ${BST_CHECKED} 0
     ${else}
       SendMessage $MultiUser.InstallModePage.CurrentUser ${BM_SETCHECK} ${BST_CHECKED} 0
     ${endif}
     
-    !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
+    !insertmacro MULTIUSER_PAGE_FUNCTION_CUSTOM SHOW
     nsDialogs::Show
-    !insertmacro MUI_PAGE_FUNCTION_CUSTOM DESTROYED
+    !insertmacro MULTIUSER_PAGE_FUNCTION_CUSTOM DESTROYED
     
   FunctionEnd
 
   Function "${LEAVE}"
-     SendMessage $MultiUser.InstallModePage.AllUsers ${BM_GETCHECK} 0 0 $MultiUser.InstallModePage.ReturnValue
+     SendMessage $MultiUser.InstallModePage.AllUsers ${BM_GETCHECK} 0 0 $0
      
-     ${if} $MultiUser.InstallModePage.ReturnValue = ${BST_CHECKED}
+     ${if} $0 = ${BST_CHECKED}
         Call MultiUser.InstallMode.AllUsers
      ${else}
         Call MultiUser.InstallMode.CurrentUser
      ${endif}
   
-    !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
+    !insertmacro MULTIUSER_PAGE_FUNCTION_CUSTOM LEAVE
   FunctionEnd
 
 !macroend
 
-!endif
 
 !verbose pop
 !endif
diff -Nru nsis-3.05/Contrib/MultiUser/Readme.html nsis-3.06.1/Contrib/MultiUser/Readme.html
--- nsis-3.05/Contrib/MultiUser/Readme.html	2020-01-13 19:44:30.000000000 +0000
+++ nsis-3.06.1/Contrib/MultiUser/Readme.html	2020-03-24 02:01:11.000000000 +0000
@@ -4,6 +4,9 @@
     Multi-User Header File (MultiUser.nsh)