Mercurial > vim
diff nsis/gvim.nsi @ 25354:54425c665ba9 v8.2.3214
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Commit: https://github.com/vim/vim/commit/7d60384a00755e5c0112cebeb5e232fc133c9eca
Author: Christian Brabandt <cb@256bit.org>
Date: Sat Jul 24 21:19:42 2021 +0200
patch 8.2.3214: MS-Windows: passing /D does not set the install location
Problem: MS-Windows: passing /D does not set the install location.
Solution: Adjust how the installer uses $VIM. Update the documentation.
(Christian Brabandt, closes #8605)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 24 Jul 2021 21:30:04 +0200 |
parents | d5b5267595c5 |
children | 92c424550367 |
line wrap: on
line diff
--- a/nsis/gvim.nsi +++ b/nsis/gvim.nsi @@ -126,10 +126,11 @@ RequestExecutionLevel highest # This adds '\Vim' to the user choice automagically. The actual value is # obtained below with CheckOldVim. !ifdef WIN64 -InstallDir "$PROGRAMFILES64\Vim" + !define DEFAULT_INSTDIR "$PROGRAMFILES64\Vim" !else -InstallDir "$PROGRAMFILES\Vim" + !define DEFAULT_INSTDIR "$PROGRAMFILES\Vim" !endif +InstallDir ${DEFAULT_INSTDIR} # Types of installs we can perform: InstType $(str_type_typical) @@ -710,8 +711,13 @@ Function .onInit !insertmacro MUI_LANGDLL_DISPLAY !endif - # Check $VIM - ReadEnvStr $INSTDIR "VIM" + ${If} $INSTDIR == ${DEFAULT_INSTDIR} + # Check $VIM + ReadEnvStr $3 "VIM" + ${If} $3 != "" + StrCpy $INSTDIR $3 + ${EndIf} + ${EndIf} call CheckOldVim Pop $3 @@ -721,20 +727,11 @@ Function .onInit SectionSetInstTypes ${id_section_old_ver} 0 SectionSetText ${id_section_old_ver} "" ${Else} - ${If} $INSTDIR == "" + ${If} $INSTDIR == ${DEFAULT_INSTDIR} StrCpy $INSTDIR $3 ${EndIf} ${EndIf} - # If did not find a path: use the default dir. - ${If} $INSTDIR == "" -!ifdef WIN64 - StrCpy $INSTDIR "$PROGRAMFILES64\Vim" -!else - StrCpy $INSTDIR "$PROGRAMFILES\Vim" -!endif - ${EndIf} - ${If} ${RunningX64} SetRegView 64 ${EndIf}