Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | This builds a one-click install for Vim for Win32 using the Nullsoft |
Bram Moolenaar | 6199d43 | 2017-10-14 19:05:44 +0200 | [diff] [blame] | 2 | Installation System (NSIS), available at http://nsis.sourceforge.net/ |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 3 | |
| 4 | To build the installable .exe: |
| 5 | |
| 6 | 1. 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 | |
| 13 | 2. Go to the src directory and build: |
| 14 | gvim.exe (the OLE version), |
| 15 | vimrun.exe, |
| 16 | install.exe, |
Bram Moolenaar | 38f1eea | 2019-09-27 14:19:09 +0200 | [diff] [blame] | 17 | uninstall.exe, |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 18 | tee/tee.exe, |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 19 | xxd/xxd.exe, |
| 20 | |
Bram Moolenaar | 6199d43 | 2017-10-14 19:05:44 +0200 | [diff] [blame] | 21 | Then execute tools/rename.bat to rename the executables. (mv command is |
| 22 | required.) |
| 23 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 24 | 3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary |
Bram Moolenaar | 6199d43 | 2017-10-14 19:05:44 +0200 | [diff] [blame] | 25 | 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 Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 29 | |
Martin Tournoij | 251c1e2 | 2022-10-08 17:15:28 +0100 | [diff] [blame] | 30 | 4. Get a "diff.exe" program. If you skip this the built-in diff will always |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 31 | be used (which is fine for most users). If you do have your own |
RestorerZ | 2680a07 | 2024-03-20 20:15:51 +0100 | [diff] [blame] | 32 | "diff.exe" put it in the "../.." directory (above the "vim91" directory, |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 33 | it's the same for all Vim versions). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 34 | You can find one in previous Vim versions or in this archive: |
RestorerZ | 2680a07 | 2024-03-20 20:15:51 +0100 | [diff] [blame] | 35 | http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 36 | |
RestorerZ | 2680a07 | 2024-03-20 20:15:51 +0100 | [diff] [blame] | 37 | 5. Also put "winpty32.dll" and "winpty-agent.exe" in "../.." (above the "vim91" |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 38 | directory). This is required for the terminal window. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 39 | |
RestorerZ | 2680a07 | 2024-03-20 20:15:51 +0100 | [diff] [blame] | 40 | 6. To use stronger encryption, add the Sodium library. You can get it here: |
| 41 | https://github.com/jedisct1/libsodium/releases/download/1.0.19-RELEASE/libsodium-1.0.19-msvc.zip |
| 42 | Unpack the archive. Put the "libsodium.dll" from |
| 43 | path/to/libsodium/Win32/Release/v143/dynamic for the 32‐bit version or |
| 44 | path/to/libsodium/X64/Release/v143/dynamic for the 64‐bit version in the |
| 45 | "../.." directory (above the "vim91" directory, where "diff.exe" and |
| 46 | "winpty32.dll"). |
| 47 | |
| 48 | 7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 49 | to do this on Unix. Make sure the file is in DOS file format! |
| 50 | |
RestorerZ | 2680a07 | 2024-03-20 20:15:51 +0100 | [diff] [blame] | 51 | 8. Get gettext and iconv DLLs from the following site: |
Bram Moolenaar | 6199d43 | 2017-10-14 19:05:44 +0200 | [diff] [blame] | 52 | https://github.com/mlocati/gettext-iconv-windows/releases |
| 53 | Both 64- and 32-bit versions are needed. |
| 54 | Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract |
| 55 | DLLs and place them as follows: |
| 56 | |
| 57 | <GETTEXT directory> |
| 58 | | |
| 59 | + gettext32/ |
| 60 | | libintl-8.dll |
| 61 | | libiconv-2.dll |
| 62 | | libgcc_s_sjlj-1.dll |
| 63 | | |
| 64 | ` gettext64/ |
| 65 | libintl-8.dll |
| 66 | libiconv-2.dll |
| 67 | |
| 68 | The default <GETTEXT directory> is "..", however, you can change it by |
| 69 | passing /DGETTEXT=... option to the makensis command. |
| 70 | |
| 71 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 72 | Install NSIS if you didn't do that already. |
| 73 | Also install UPX, if you want a compressed file. |
Bram Moolenaar | 4a22897 | 2021-05-01 22:41:39 +0200 | [diff] [blame] | 74 | Download and include the ShellExecAsUser.dll Unicode version which can be |
| 75 | sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in |
| 76 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 77 | |
Bram Moolenaar | 24877cf | 2019-01-10 21:51:48 +0100 | [diff] [blame] | 78 | Unpack the images: |
| 79 | cd nsis |
| 80 | unzip icons.zip |
| 81 | |
Bram Moolenaar | 4d8f476 | 2021-06-27 15:18:56 +0200 | [diff] [blame] | 82 | Then build gvim.exe: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 83 | |
Bram Moolenaar | 24877cf | 2019-01-10 21:51:48 +0100 | [diff] [blame] | 84 | cd nsis |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 85 | makensis gvim.nsi |