mirror of
https://github.com/vim/vim
synced 2025-03-20 00:35:10 +01:00
* NSIS: Possibility to include translated license and README.txt files * fixed a missing semicolon * Disable always show dialog choice language Signed-off-by: RestorerZ <restorer@mail2k.ru> Signed-off-by: Christian Brabandt <cb@256bit.org>
108 lines
4.4 KiB
Text
108 lines
4.4 KiB
Text
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:
|
||
|
||
1. Unpack three archives:
|
||
PC sources
|
||
PC runtime
|
||
PC language files
|
||
You can generate these from the Unix sources and runtime plus the extra
|
||
archive (see the Makefile in the top directory).
|
||
|
||
2. Go to the src directory and build:
|
||
gvim.exe (the OLE version),
|
||
vimrun.exe,
|
||
install.exe,
|
||
uninstall.exe,
|
||
tee/tee.exe,
|
||
xxd/xxd.exe
|
||
|
||
Then execute tools/rename.bat to rename the executables.
|
||
|
||
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 another directory by passing /DVIMTOOLS=<dir> option to the
|
||
"makensis.exe" program via the command line.
|
||
|
||
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 another directory by passing
|
||
/DVIMTOOLS=<dir> option to the "makensis.exe" program via the command line.
|
||
|
||
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. On MS Windows do "nmake.exe -f Make_mvc.mak uganda.nsis.txt" in runtime/doc.
|
||
On Unix-like system do "make runtime/doc/uganda.nsis.txt" in top directory
|
||
or "make uganda.nsis.txt" in runtime/doc. The created files
|
||
"uganda.nsis.???" will be automatically converted to DOS file format.
|
||
|
||
8. 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 another
|
||
directory by passing /DGETTEXT=<dir> option to "makensis.exe" program via
|
||
the command line.
|
||
|
||
|
||
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
|
||
|
||
|
||
Unpack the images:
|
||
cd nsis
|
||
unzip icons.zip or 7z x icons.zip (on Unix-like or MS Windows)
|
||
WinRar.exe x icons.zip (on MS Windows)
|
||
|
||
Then build gvim.exe:
|
||
cd nsis
|
||
makensis.exe [options] gvim.nsi
|
||
|
||
Options (not mandatory):
|
||
/DVIMSRC=<dir> — directory where location of gvim_ole.exe, vimw32.exe,
|
||
GvimExt/*, etc.
|
||
/DVIMRT=<dir> — directory where location of runtime files
|
||
/DVIMTOOLS=<dir> — directory where location of extra tools: diff.exe,
|
||
winpty{32|64}.dll, winpty-agent.exe, libsodium.dll
|
||
/DGETTEXT=<dir> — directory where location of gettext libraries
|
||
/DHAVE_UPX=1 — additional compression of the installer. UPX program
|
||
must be installed.
|
||
/DHAVE_NLS=0 — do not add native language support
|
||
/DHAVE_MULTI_LANG=0 — to create an English-only the installer
|
||
/DWIN64=1 — to create a 64-bit the installer
|