summaryrefslogtreecommitdiff
path: root/nsis/gvim.nsi
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-10-14 19:05:44 +0200
committerBram Moolenaar <Bram@vim.org>2017-10-14 19:05:44 +0200
commit6199d43f4b59a9bb1c87d408c5b33fa19a23ebcd (patch)
tree9e3b891db8cf578f455cf15512286e8160eb8326 /nsis/gvim.nsi
parent2c33d7bb69c4c2c5b0e39b03cc4b0c04cfdfbb0b (diff)
downloadvim-git-6199d43f4b59a9bb1c87d408c5b33fa19a23ebcd.tar.gz
patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installerv8.0.1191
Problem: MS-Windows: missing 32 and 64 bit files in installer. Solution: Include both 32 and 64 bit GvimExt and related dll files. Remove old Windows code from the installer. (Ken Takata, closes #2144)
Diffstat (limited to 'nsis/gvim.nsi')
-rw-r--r--nsis/gvim.nsi87
1 files changed, 71 insertions, 16 deletions
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index 1a169f3e0..1c548b3bc 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -20,8 +20,15 @@
!define VIMTOOLS ..\..
!endif
+# Location of gettext.
+# It must contain two directories: gettext32 and gettext64.
+# See README.txt for detail.
+!ifndef GETTEXT
+ !define GETTEXT ${VIMRT}
+!endif
+
# Comment the next line if you don't have UPX.
-# Get it at http://upx.sourceforge.net
+# Get it at https://upx.github.io/
!define HAVE_UPX
# comment the next line if you do not want to add Native Language Support
@@ -328,24 +335,67 @@ Section "Add an Edit-with-Vim context menu entry"
SetOutPath $0
ClearErrors
SetOverwrite try
+
${If} ${RunningX64}
+ # Install 64-bit gvimext.dll into the GvimExt64 directory.
+ SetOutPath $0\GvimExt64
+ ClearErrors
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
- ${Else}
- File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
+!ifdef HAVE_NLS
+ File ${GETTEXT}\gettext64\libintl-8.dll
+ File ${GETTEXT}\gettext64\libiconv-2.dll
+!endif
+
+ IfErrors 0 GvimExt64Done
+
+ # Can't copy gvimext.dll, create it under another name and rename it
+ # on next reboot.
+ GetTempFileName $3 $0\GvimExt64
+ File /oname=$3 ${VIMSRC}\GvimExt64\gvimext.dll
+ Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
+!ifdef HAVE_NLS
+ GetTempFileName $3 $0\GvimExt64
+ File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
+ Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
+ GetTempFileName $3 $0\GvimExt64
+ File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
+ Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
+!endif
${EndIf}
- IfErrors 0 GvimExtDone
+
+ GvimExt64Done:
+
+ # Install 32-bit gvimext.dll into the GvimExt32 directory.
+ SetOutPath $0\GvimExt32
+ ClearErrors
+
+ File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
+!ifdef HAVE_NLS
+ File ${GETTEXT}\gettext32\libintl-8.dll
+ File ${GETTEXT}\gettext32\libiconv-2.dll
+ File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
+!endif
+
+ IfErrors 0 GvimExt32Done
# Can't copy gvimext.dll, create it under another name and rename it on
# next reboot.
- GetTempFileName $3 $0
- ${If} ${RunningX64}
- File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
- ${Else}
- File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
- ${EndIf}
- Rename /REBOOTOK $3 $0\gvimext.dll
+ GetTempFileName $3 $0\GvimExt32
+ File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
+ Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
+!ifdef HAVE_NLS
+ GetTempFileName $3 $0\GvimExt32
+ File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
+ Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
+ GetTempFileName $3 $0\GvimExt32
+ File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
+ Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
+ GetTempFileName $3 $0\GvimExt32
+ File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
+ Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
+!endif
- GvimExtDone:
+ GvimExt32Done:
SetOverwrite lastused
# We don't have a separate entry for the "Open With..." menu, assume
@@ -394,10 +444,10 @@ SectionEnd
File ${VIMRT}\keymap\README.txt
File ${VIMRT}\keymap\*.vim
SetOutPath $0
- File ${VIMRT}\libintl-8.dll
- File ${VIMRT}\libiconv-2.dll
- File /nonfatal ${VIMRT}\libwinpthread-1.dll
- File /nonfatal ${VIMRT}\libgcc_s_sjlj-1.dll
+ File ${GETTEXT}\gettext32\libintl-8.dll
+ File ${GETTEXT}\gettext32\libiconv-2.dll
+ #File /nonfatal ${VIMRT}\libwinpthread-1.dll
+ File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
SectionEnd
!endif
@@ -437,6 +487,11 @@ Section Uninstall
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
Delete /REBOOTOK $0\*.dll
+ Delete /REBOOTOK $0\GvimExt32\*.dll
+ ${If} ${RunningX64}
+ Delete /REBOOTOK $0\GvimExt64\*.dll
+ ${EndIf}
+
ClearErrors
# Remove everything but *.dll files. Avoids that
# a lot remains when gvimext.dll cannot be deleted.