blob: 31fa7871b990d67709f5ab9745dc83fc43f5a22b [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001This builds a one-click install for Vim for Win32 using the Nullsoft
Bram Moolenaar6199d432017-10-14 19:05:44 +02002Installation System (NSIS), available at http://nsis.sourceforge.net/
Bram Moolenaar071d4272004-06-13 20:20:40 +00003
4To build the installable .exe:
5
61. Unpack three archives:
7 PC sources
8 PC runtime
9 PC language files
10 You can generate these from the Unix sources and runtime plus the extra
11 archive (see the Makefile in the top directory).
12
132. Go to the src directory and build:
14 gvim.exe (the OLE version),
15 vimrun.exe,
16 install.exe,
Bram Moolenaar38f1eea2019-09-27 14:19:09 +020017 uninstall.exe,
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010018 tee/tee.exe,
Bram Moolenaar071d4272004-06-13 20:20:40 +000019 xxd/xxd.exe,
20
Bram Moolenaar6199d432017-10-14 19:05:44 +020021 Then execute tools/rename.bat to rename the executables. (mv command is
22 required.)
23
Bram Moolenaar071d4272004-06-13 20:20:40 +0000243. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
Bram Moolenaar6199d432017-10-14 19:05:44 +020025 archive). Both 64- and 32-bit versions are needed and should be placed
26 as follows:
27 64-bit: src/GvimExt/gvimext64.dll
28 32-bit: src/GvimExt/gvimext.dll
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
Martin Tournoij251c1e22022-10-08 17:15:28 +0100304. Get a "diff.exe" program. If you skip this the built-in diff will always
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010031 be used (which is fine for most users). If you do have your own
Bram Moolenaar8024f932020-01-14 19:29:13 +010032 "diff.exe" put it in the "../.." directory (above the "vim82" directory,
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010033 it's the same for all Vim versions).
Bram Moolenaar071d4272004-06-13 20:20:40 +000034 You can find one in previous Vim versions or in this archive:
35 http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010036
Martin Tournoij251c1e22022-10-08 17:15:28 +0100375 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
Bram Moolenaard2ec51f2018-12-02 13:58:00 +010038 directory). This is required for the terminal window.
Bram Moolenaar071d4272004-06-13 20:20:40 +000039
Martin Tournoij251c1e22022-10-08 17:15:28 +0100406. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
Bram Moolenaar071d4272004-06-13 20:20:40 +000041 to do this on Unix. Make sure the file is in DOS file format!
42
Martin Tournoij251c1e22022-10-08 17:15:28 +0100437. Get gettext and iconv DLLs from the following site:
Bram Moolenaar6199d432017-10-14 19:05:44 +020044 https://github.com/mlocati/gettext-iconv-windows/releases
45 Both 64- and 32-bit versions are needed.
46 Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
47 DLLs and place them as follows:
48
49 <GETTEXT directory>
50 |
51 + gettext32/
52 | libintl-8.dll
53 | libiconv-2.dll
54 | libgcc_s_sjlj-1.dll
55 |
56 ` gettext64/
57 libintl-8.dll
58 libiconv-2.dll
59
60 The default <GETTEXT directory> is "..", however, you can change it by
61 passing /DGETTEXT=... option to the makensis command.
62
63
Bram Moolenaar071d4272004-06-13 20:20:40 +000064Install NSIS if you didn't do that already.
65Also install UPX, if you want a compressed file.
Bram Moolenaar4a228972021-05-01 22:41:39 +020066Download and include the ShellExecAsUser.dll Unicode version which can be
67sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
68
Bram Moolenaar071d4272004-06-13 20:20:40 +000069
Bram Moolenaar24877cf2019-01-10 21:51:48 +010070Unpack the images:
71 cd nsis
72 unzip icons.zip
73
Bram Moolenaar4d8f4762021-06-27 15:18:56 +020074Then build gvim.exe:
Bram Moolenaar071d4272004-06-13 20:20:40 +000075
Bram Moolenaar24877cf2019-01-10 21:51:48 +010076 cd nsis
Bram Moolenaar071d4272004-06-13 20:20:40 +000077 makensis gvim.nsi