comparison nsis/gvim.nsi @ 12626:aca41efd888c v8.0.1191

patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer commit https://github.com/vim/vim/commit/6199d43f4b59a9bb1c87d408c5b33fa19a23ebcd Author: Bram Moolenaar <Bram@vim.org> Date: Sat Oct 14 19:05:44 2017 +0200 patch 8.0.1191: MS-Windows: missing 32 and 64 bit files in installer 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)
author Christian Brabandt <cb@256bit.org>
date Sat, 14 Oct 2017 19:15:04 +0200
parents 493752ef9f75
children 52d928d016bc
comparison
equal deleted inserted replaced
12625:e48ffa369a30 12626:aca41efd888c
18 # Location of extra tools: diff.exe 18 # Location of extra tools: diff.exe
19 !ifndef VIMTOOLS 19 !ifndef VIMTOOLS
20 !define VIMTOOLS ..\.. 20 !define VIMTOOLS ..\..
21 !endif 21 !endif
22 22
23 # Location of gettext.
24 # It must contain two directories: gettext32 and gettext64.
25 # See README.txt for detail.
26 !ifndef GETTEXT
27 !define GETTEXT ${VIMRT}
28 !endif
29
23 # Comment the next line if you don't have UPX. 30 # Comment the next line if you don't have UPX.
24 # Get it at http://upx.sourceforge.net 31 # Get it at https://upx.github.io/
25 !define HAVE_UPX 32 !define HAVE_UPX
26 33
27 # comment the next line if you do not want to add Native Language Support 34 # comment the next line if you do not want to add Native Language Support
28 !define HAVE_NLS 35 !define HAVE_NLS
29 36
326 # installed at the next reboot. Can't use UpgradeDLL! 333 # installed at the next reboot. Can't use UpgradeDLL!
327 # We don't ask the user to reboot, the old dll will keep on working. 334 # We don't ask the user to reboot, the old dll will keep on working.
328 SetOutPath $0 335 SetOutPath $0
329 ClearErrors 336 ClearErrors
330 SetOverwrite try 337 SetOverwrite try
338
331 ${If} ${RunningX64} 339 ${If} ${RunningX64}
340 # Install 64-bit gvimext.dll into the GvimExt64 directory.
341 SetOutPath $0\GvimExt64
342 ClearErrors
332 File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll 343 File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
333 ${Else} 344 !ifdef HAVE_NLS
334 File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll 345 File ${GETTEXT}\gettext64\libintl-8.dll
346 File ${GETTEXT}\gettext64\libiconv-2.dll
347 !endif
348
349 IfErrors 0 GvimExt64Done
350
351 # Can't copy gvimext.dll, create it under another name and rename it
352 # on next reboot.
353 GetTempFileName $3 $0\GvimExt64
354 File /oname=$3 ${VIMSRC}\GvimExt64\gvimext.dll
355 Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
356 !ifdef HAVE_NLS
357 GetTempFileName $3 $0\GvimExt64
358 File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
359 Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
360 GetTempFileName $3 $0\GvimExt64
361 File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
362 Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
363 !endif
335 ${EndIf} 364 ${EndIf}
336 IfErrors 0 GvimExtDone 365
366 GvimExt64Done:
367
368 # Install 32-bit gvimext.dll into the GvimExt32 directory.
369 SetOutPath $0\GvimExt32
370 ClearErrors
371
372 File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
373 !ifdef HAVE_NLS
374 File ${GETTEXT}\gettext32\libintl-8.dll
375 File ${GETTEXT}\gettext32\libiconv-2.dll
376 File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
377 !endif
378
379 IfErrors 0 GvimExt32Done
337 380
338 # Can't copy gvimext.dll, create it under another name and rename it on 381 # Can't copy gvimext.dll, create it under another name and rename it on
339 # next reboot. 382 # next reboot.
340 GetTempFileName $3 $0 383 GetTempFileName $3 $0\GvimExt32
341 ${If} ${RunningX64} 384 File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
342 File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll 385 Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
343 ${Else} 386 !ifdef HAVE_NLS
344 File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll 387 GetTempFileName $3 $0\GvimExt32
345 ${EndIf} 388 File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
346 Rename /REBOOTOK $3 $0\gvimext.dll 389 Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
347 390 GetTempFileName $3 $0\GvimExt32
348 GvimExtDone: 391 File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
392 Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
393 GetTempFileName $3 $0\GvimExt32
394 File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
395 Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
396 !endif
397
398 GvimExt32Done:
349 SetOverwrite lastused 399 SetOverwrite lastused
350 400
351 # We don't have a separate entry for the "Open With..." menu, assume 401 # We don't have a separate entry for the "Open With..." menu, assume
352 # the user wants either both or none. 402 # the user wants either both or none.
353 StrCpy $1 "$1 -install-popup -install-openwith" 403 StrCpy $1 "$1 -install-popup -install-openwith"
392 File /r ${VIMRT}\lang\*.* 442 File /r ${VIMRT}\lang\*.*
393 SetOutPath $0\keymap 443 SetOutPath $0\keymap
394 File ${VIMRT}\keymap\README.txt 444 File ${VIMRT}\keymap\README.txt
395 File ${VIMRT}\keymap\*.vim 445 File ${VIMRT}\keymap\*.vim
396 SetOutPath $0 446 SetOutPath $0
397 File ${VIMRT}\libintl-8.dll 447 File ${GETTEXT}\gettext32\libintl-8.dll
398 File ${VIMRT}\libiconv-2.dll 448 File ${GETTEXT}\gettext32\libiconv-2.dll
399 File /nonfatal ${VIMRT}\libwinpthread-1.dll 449 #File /nonfatal ${VIMRT}\libwinpthread-1.dll
400 File /nonfatal ${VIMRT}\libgcc_s_sjlj-1.dll 450 File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
401 SectionEnd 451 SectionEnd
402 !endif 452 !endif
403 453
404 ########################################################## 454 ##########################################################
405 Section -call_install_exe 455 Section -call_install_exe
435 MessageBox MB_YESNO|MB_ICONQUESTION \ 485 MessageBox MB_YESNO|MB_ICONQUESTION \
436 "Would you like to delete $0?$\n \ 486 "Would you like to delete $0?$\n \
437 $\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes 487 $\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
438 488
439 Delete /REBOOTOK $0\*.dll 489 Delete /REBOOTOK $0\*.dll
490 Delete /REBOOTOK $0\GvimExt32\*.dll
491 ${If} ${RunningX64}
492 Delete /REBOOTOK $0\GvimExt64\*.dll
493 ${EndIf}
494
440 ClearErrors 495 ClearErrors
441 # Remove everything but *.dll files. Avoids that 496 # Remove everything but *.dll files. Avoids that
442 # a lot remains when gvimext.dll cannot be deleted. 497 # a lot remains when gvimext.dll cannot be deleted.
443 RMDir /r $0\autoload 498 RMDir /r $0\autoload
444 RMDir /r $0\colors 499 RMDir /r $0\colors