nsis
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
This builds a one-click install for Vim for MS Windows using the Nullsoft Installation System (NSIS), available at http://nsis.sourceforge.net/ To build the installable .exe file: 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. 3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary 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 4. Get a "diff.exe" program. If you skip this the built-in diff will always be used (which is fine for most users). You can find one in previous Vim versions or in this archive: 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 specify a different directory by specifying the appropriate makefile value. How to do this is described below. 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" directory). However, you can specify a different directory by specifying the appropriate makefile value. How to do this is described below. 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 "winpty{32|64}.dll"). 7. 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 DLLs and place them as follows: <GETTEXT directory> | + gettext32/ | libintl-8.dll | libiconv-2.dll | libgcc_s_sjlj-1.dll | + gettext64/ libintl-8.dll libiconv-2.dll 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. 8. Install NSIS if you didn't do that already. Download Unicode version the ShellExecAsUser plug-in for NSIS from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in 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 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 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 Variables and their values available for building the installer (not mandatory): "VIMSRC=<dir>" — directory where location of gvim_ole.exe, vimw32.exe, GvimExt/*, etc. "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 must be installed. "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.