2024-03-24 09:41:18 +00:00
|
|
|
|
This builds a one-click install for Vim for MS Windows using the Nullsoft
|
2017-10-14 19:05:44 +02:00
|
|
|
|
Installation System (NSIS), available at http://nsis.sourceforge.net/
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
2024-03-24 09:41:18 +00:00
|
|
|
|
To build the installable .exe file:
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
Preparatory stage
|
|
|
|
|
|
|
|
|
|
1. Clone using the git tool the Vim repository or download its zip file
|
|
|
|
|
available at:
|
|
|
|
|
https://github.com/vim/vim
|
|
|
|
|
|
|
|
|
|
2. Go to the "/src" directory and build the Vim editor, making sure to use the
|
|
|
|
|
following variable values: "GUI=yes"; "OLE=yes"; "VIMDLL=yes". See
|
|
|
|
|
INSTALLpc.txt and Make_mvc.mak for details.
|
2017-10-14 19:05:44 +02:00
|
|
|
|
|
2004-06-13 20:20:40 +00:00
|
|
|
|
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
2017-10-14 19:05:44 +02:00
|
|
|
|
archive). Both 64- and 32-bit versions are needed and should be placed
|
|
|
|
|
as follows:
|
|
|
|
|
64-bit: src/GvimExt/gvimext64.dll
|
|
|
|
|
32-bit: src/GvimExt/gvimext.dll
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
2022-10-08 17:15:28 +01:00
|
|
|
|
4. Get a "diff.exe" program. If you skip this the built-in diff will always
|
2024-03-24 09:41:18 +00:00
|
|
|
|
be used (which is fine for most users).
|
2004-06-13 20:20:40 +00:00
|
|
|
|
You can find one in previous Vim versions or in this archive:
|
2024-03-24 09:41:18 +00:00
|
|
|
|
https://www.mediafire.com/file/9edk4g3xvfgzby0/diff4Vim.zip/file
|
|
|
|
|
When will you have "diff.exe" put it in the "../.." directory (above the
|
|
|
|
|
"vim91" directory, it's the same for all Vim versions). However, you can
|
2025-01-17 14:04:44 +01:00
|
|
|
|
specify a different directory by specifying the appropriate makefile value.
|
|
|
|
|
How to do this is described below.
|
2024-03-24 09:41:18 +00:00
|
|
|
|
|
|
|
|
|
5. For the terminal window to work in Vim, the library winpty is required.
|
|
|
|
|
You can get it at the following url:
|
|
|
|
|
https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
|
|
|
|
For the 32-bit version, rename "winpty.dll" from ia32/bin to "winpty32.dll",
|
|
|
|
|
and for the 64-bit version — "winpty.dll" from x64/bin to "winpty64.dll".
|
|
|
|
|
Put the renamed file and "winpty-agent.exe" in "../.." (above the "vim91"
|
2025-01-17 14:04:44 +01:00
|
|
|
|
directory). However, you can specify a different directory by specifying
|
|
|
|
|
the appropriate makefile value. How to do this is described below.
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
2024-03-20 20:15:51 +01:00
|
|
|
|
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
|
2024-03-24 09:41:18 +00:00
|
|
|
|
"winpty{32|64}.dll").
|
2024-03-20 20:15:51 +01:00
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
7. Get gettext and iconv DLLs from the following site:
|
2017-10-14 19:05:44 +02:00
|
|
|
|
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
|
|
|
|
|
DLLs and place them as follows:
|
|
|
|
|
|
|
|
|
|
<GETTEXT directory>
|
|
|
|
|
|
|
|
|
|
|
+ gettext32/
|
|
|
|
|
| libintl-8.dll
|
|
|
|
|
| libiconv-2.dll
|
|
|
|
|
| libgcc_s_sjlj-1.dll
|
|
|
|
|
|
|
2024-03-24 09:41:18 +00:00
|
|
|
|
+ gettext64/
|
2017-10-14 19:05:44 +02:00
|
|
|
|
libintl-8.dll
|
|
|
|
|
libiconv-2.dll
|
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
The default <GETTEXT directory> is "../..". However, you can specify a
|
|
|
|
|
different directory by specifying the appropriate makefile value. How to do
|
|
|
|
|
this is described below.
|
2017-10-14 19:05:44 +02:00
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
8. Install NSIS if you didn't do that already.
|
|
|
|
|
Download Unicode version the ShellExecAsUser plug-in for NSIS from:
|
2024-03-24 09:41:18 +00:00
|
|
|
|
https://nsis.sourceforge.io/ShellExecAsUser_plug-in
|
2025-01-17 14:04:44 +01:00
|
|
|
|
and put "ShellExecAsUser.dll" to path\to\NSIS\Plugins\x86-unicode
|
|
|
|
|
|
|
|
|
|
Installer assembly stage
|
|
|
|
|
|
|
|
|
|
On MS Windows, open the Developer Command Prompt for VS and go to the
|
|
|
|
|
"/nsis" directory and type the command
|
|
|
|
|
nmake.exe -lf Make_mvc.mak [variables] all
|
2021-05-01 22:41:39 +02:00
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
After the installer is created and you copy it to the desired location, run
|
|
|
|
|
the following command in the "/nsis" directory
|
|
|
|
|
nmake.exe -lf Make_mvc.mak clean
|
|
|
|
|
|
|
|
|
|
On UNIX-like systems, go to the "/nsis" directory and type the command
|
|
|
|
|
make -f Makefile [variables] all
|
2004-06-13 20:20:40 +00:00
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
After the installer is created and you copy it to the desired location, run
|
|
|
|
|
the following command in the "/nsis" directory
|
|
|
|
|
make -f Makefile clean
|
2019-01-10 21:51:48 +01:00
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
Variables and their values available for building the installer (not mandatory):
|
2024-03-24 09:41:18 +00:00
|
|
|
|
|
2025-01-17 14:04:44 +01:00
|
|
|
|
"VIMSRC=<dir>" — directory where location of gvim_ole.exe, vimw32.exe,
|
2024-03-24 09:41:18 +00:00
|
|
|
|
GvimExt/*, etc.
|
2025-01-17 14:04:44 +01:00
|
|
|
|
"VIMRT=<dir>" — directory where location of runtime files.
|
|
|
|
|
"VIMTOOLS=<dir>" — directory where location of extra tools: diff.exe,
|
|
|
|
|
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll.
|
|
|
|
|
"GETTEXT=<dir>" — directory where location of gettext libraries.
|
|
|
|
|
"HAVE_UPX=1" — additional compression of the installer. UPX program
|
2024-03-24 09:41:18 +00:00
|
|
|
|
must be installed.
|
2025-01-17 14:04:44 +01:00
|
|
|
|
"HAVE_NLS=0" — do not add native language support.
|
|
|
|
|
"HAVE_MULTI_LANG=0" — to create an English-only the installer.
|
|
|
|
|
"WIN64=1" — to create a 64-bit the installer.
|
|
|
|
|
"X=<scriptcmd>" — executes scriptcmd in script. If multiple scriptcmd
|
|
|
|
|
are specified, they are separated by a semicolon.
|
|
|
|
|
Example "X=OutFile MyVim.exe;XPMode on"
|
|
|
|
|
"MKNSIS=<dir>" — the directory where the "makensis.exe" program is
|
|
|
|
|
located.
|