diff --git a/nsis/README.txt b/nsis/README.txt
index e1abc4a..a47201c 100644
--- a/nsis/README.txt
+++ b/nsis/README.txt
@@ -29,18 +29,26 @@
 
 4.  Get a "diff.exe" program.  If you skip this the built-in diff will always
     be used (which is fine for most users).  If you do have your own
-    "diff.exe" put it in the "../.." directory (above the "vim90" directory,
+    "diff.exe" put it in the "../.." directory (above the "vim91" directory,
     it's the same for all Vim versions).
     You can find one in previous Vim versions or in this archive:
-		http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
+	http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
 
-5   Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim90"
+5.  Also put "winpty32.dll" and "winpty-agent.exe" in "../.." (above the "vim91"
     directory).  This is required for the terminal window.
 
-6.  Do "make uganda.nsis.txt" in runtime/doc.  This requires sed, you may have
+6.  To use stronger encryption, add the Sodium library.  You can get it here:
+	https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip
+    Unpack the archive.  Put the "libsodium.dll" from
+    path/to/libsodium/Win32/Release/v143/dynamic for the 32‐bit version or
+    path/to/libsodium/X64/Release/v143/dynamic for the 64‐bit version in the
+    "../.." directory (above the "vim91" directory, where "diff.exe" and
+    "winpty32.dll").
+
+7.  Do "make uganda.nsis.txt" in runtime/doc.  This requires sed, you may have
     to do this on Unix.  Make sure the file is in DOS file format!
 
-7.  Get gettext and iconv DLLs from the following site:
+8.  Get gettext and iconv DLLs from the following site:
 	https://github.com/mlocati/gettext-iconv-windows/releases
     Both 64- and 32-bit versions are needed.
     Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index 992d050..ec65361 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -1,6 +1,6 @@
 # NSIS file to create a self-installing exe for Vim.
 # It requires NSIS version 3.0 or later.
-# Last Change:	2014 Nov 5
+# Last Change:	2024 Mar 17
 
 Unicode true
 
@@ -58,6 +58,37 @@
 !include "Sections.nsh"
 !include "x64.nsh"
 
+# See https://nsis.sourceforge.io/LogicLib
+;FileExists is already part of LogicLib, but returns true for directories
+;as well as files
+!macro _FileExists2 _a _b _t _f
+	!insertmacro _LOGICLIB_TEMP
+	StrCpy $_LOGICLIB_TEMP "0"
+;if path is not blank, continue to next check
+	StrCmp `${_b}` `` +4 0
+;if path exists, continue to next check (IfFileExists returns true if this
+;is a directory)
+	IfFileExists `${_b}` `0` +3
+;if path is not a directory, continue to confirm exists
+	IfFileExists `${_b}\*.*` +2 0
+	StrCpy $_LOGICLIB_TEMP "1" ;file exists
+;now we have a definitive value - the file exists or it does not
+	StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
+!macroend
+!undef FileExists
+!define FileExists `"" FileExists2`
+!macro _DirExists _a _b _t _f
+	!insertmacro _LOGICLIB_TEMP
+	StrCpy $_LOGICLIB_TEMP "0"
+;if path is not blank, continue to next check
+	StrCmp `${_b}` `` +3 0
+;if directory exists, continue to confirm exists
+	IfFileExists `${_b}\*.*` 0 +2
+	StrCpy $_LOGICLIB_TEMP "1"
+	StrCmp $_LOGICLIB_TEMP "1" `${_t}` `${_f}`
+!macroend
+!define DirExists `"" DirExists`
+
 !define PRODUCT		"Vim ${VER_MAJOR}.${VER_MINOR}"
 !define UNINST_REG_KEY	"Software\Microsoft\Windows\CurrentVersion\Uninstall"
 !define UNINST_REG_KEY_VIM  "${UNINST_REG_KEY}\${PRODUCT}"
@@ -366,9 +397,6 @@
 !if /FileExists "${VIMSRC}\vim${BIT}.dll"
 	File ${VIMSRC}\vim${BIT}.dll
 !endif
-!if /FileExists "${VIMRT}\libsodium.dll"
-	File ${VIMRT}\libsodium.dll
-!endif
 	File /oname=install.exe ${VIMSRC}\installw32.exe
 	File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
 	File ${VIMSRC}\vimrun.exe
@@ -379,9 +407,18 @@
 	File ..\uninstall.txt
 	File ${VIMRT}\*.vim
 
+!if /FileExists "${VIMTOOLS}\diff.exe"
 	File ${VIMTOOLS}\diff.exe
+!endif
+!if /FileExists "${VIMTOOLS}\winpty${BIT}.dll"
 	File ${VIMTOOLS}\winpty${BIT}.dll
+!endif
+!if /FileExists "${VIMTOOLS}\winpty-agent.exe"
 	File ${VIMTOOLS}\winpty-agent.exe
+!endif
+!if /FileExists "${VIMTOOLS}\libsodium.dll"
+	File ${VIMTOOLS}\libsodium.dll
+!endif
 
 	SetOutPath $0\colors
 	File /r ${VIMRT}\colors\*.*
@@ -390,20 +427,22 @@
 	File ${VIMRT}\compiler\*.*
 
 	SetOutPath $0\doc
-	File ${VIMRT}\doc\*.txt
+	File /x uganda.nsis.txt ${VIMRT}\doc\*.txt
 	File ${VIMRT}\doc\tags
 
 	SetOutPath $0\ftplugin
 	File ${VIMRT}\ftplugin\*.*
 
 	SetOutPath $0\indent
-	File ${VIMRT}\indent\*.*
+	File ${VIMRT}\indent\README.txt
+	File ${VIMRT}\indent\*.vim
 
 	SetOutPath $0\keymap
-	File ${VIMRT}\keymap\*.*
+	File ${VIMRT}\keymap\README.txt
+	File ${VIMRT}\keymap\*.vim
 
 	SetOutPath $0\macros
-	File /r ${VIMRT}\macros\*.*
+	File /r /x *.info ${VIMRT}\macros\*.*
 
 	SetOutPath $0\pack
 	File /r ${VIMRT}\pack\*.*
@@ -421,7 +460,7 @@
 	File ${VIMSRC}\vim.ico
 
 	SetOutPath $0\syntax
-	File /r /x testdir /x generator ${VIMRT}\syntax\*.*
+	File /r /x testdir /x generator /x Makefile ${VIMRT}\syntax\*.*
 
 	SetOutPath $0\spell
 	File ${VIMRT}\spell\*.txt
@@ -433,7 +472,7 @@
 	File ${VIMRT}\tools\*.*
 
 	SetOutPath $0\tutor
-	File ${VIMRT}\tutor\*.*
+	File /x Makefile /x *.info ${VIMRT}\tutor\*.*
 SectionEnd
 
 ##########################################################
@@ -564,10 +603,7 @@
 	SectionIn 1 3
 
 	SetOutPath $0\lang
-	File /r ${VIMRT}\lang\*.*
-	SetOutPath $0\keymap
-	File ${VIMRT}\keymap\README.txt
-	File ${VIMRT}\keymap\*.vim
+	File /r /x Makefile ${VIMRT}\lang\*.*
 	SetOutPath $0
 	!insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED \
 	    "${GETTEXT}\gettext${BIT}\libintl-8.dll" \
@@ -947,7 +983,7 @@
 	SectionIn RO
 
 	# Apparently $INSTDIR is set to the directory where the uninstaller is
-	# created.  Thus the "vim61" directory is included in it.
+	# created.  Thus the "vim91" directory is included in it.
 	StrCpy $0 "$INSTDIR"
 
 	# delete the context menu entry and batch files
@@ -1044,6 +1080,7 @@
 	RMDir /r $0\tutor
 	RMDir /r $0\lang
 	RMDir /r $0\keymap
+	RMDir /r $0\bitmaps
 	Delete $0\*.exe
 	Delete $0\*.bat
 	Delete $0\*.vim
@@ -1053,14 +1090,17 @@
 	  MessageBox MB_OK|MB_ICONEXCLAMATION $(str_msg_rm_exe_fail) /SD IDOK
 	${EndIf}
 
-	# No error message if the "vim62" directory can't be removed, the
+	# No error message if the "vim91" directory can't be removed, the
 	# gvimext.dll may still be there.
 	RMDir $0
 SectionEnd
 
 # Remove "vimfiles" directory under the specified directory.
 !macro RemoveVimfiles dir
-	${If} ${FileExists} ${dir}\vimfiles
+	${If} ${FileExists} ${dir}\_viminfo
+	  Delete ${dir}\_viminfo
+	${EndIf}
+	${If} ${DirExists} ${dir}\vimfiles
 	  RMDir ${dir}\vimfiles\colors
 	  RMDir ${dir}\vimfiles\compiler
 	  RMDir ${dir}\vimfiles\doc
@@ -1070,6 +1110,9 @@
 	  RMDir ${dir}\vimfiles\keymap
 	  RMDir ${dir}\vimfiles\plugin
 	  RMDir ${dir}\vimfiles\syntax
+	  ${If} ${FileExists} ${dir}\vimfiles\.netrwhist*
+	    Delete ${dir}\vimfiles\.netrwhist*
+	  ${EndIf}
 	  RMDir ${dir}\vimfiles
 	${EndIf}
 !macroend
