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
-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
-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)