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 | |
| 30 | 4. Go to the VisVim directory and build VisVim.dll (or get it from a binary |
| 31 | archive). |
| 32 | |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 33 | 5. Get a "diff.exe" program. If you skip this the built-in diff will always |
| 34 | be used (which is fine for most users). If you do have your own |
Bram Moolenaar | 8024f93 | 2020-01-14 19:29:13 +0100 | [diff] [blame] | 35 | "diff.exe" put it in the "../.." directory (above the "vim82" directory, |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 36 | it's the same for all Vim versions). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 37 | You can find one in previous Vim versions or in this archive: |
| 38 | http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 39 | |
Bram Moolenaar | 8024f93 | 2020-01-14 19:29:13 +0100 | [diff] [blame] | 40 | 6 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82" |
Bram Moolenaar | d2ec51f | 2018-12-02 13:58:00 +0100 | [diff] [blame] | 41 | directory). This is required for the terminal window. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 42 | |
| 43 | 7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have |
| 44 | to do this on Unix. Make sure the file is in DOS file format! |
| 45 | |
Bram Moolenaar | 6199d43 | 2017-10-14 19:05:44 +0200 | [diff] [blame] | 46 | 8. Get gettext and iconv DLLs from the following site: |
| 47 | https://github.com/mlocati/gettext-iconv-windows/releases |
| 48 | Both 64- and 32-bit versions are needed. |
| 49 | Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract |
| 50 | DLLs and place them as follows: |
| 51 | |
| 52 | <GETTEXT directory> |
| 53 | | |
| 54 | + gettext32/ |
| 55 | | libintl-8.dll |
| 56 | | libiconv-2.dll |
| 57 | | libgcc_s_sjlj-1.dll |
| 58 | | |
| 59 | ` gettext64/ |
| 60 | libintl-8.dll |
| 61 | libiconv-2.dll |
| 62 | |
| 63 | The default <GETTEXT directory> is "..", however, you can change it by |
| 64 | passing /DGETTEXT=... option to the makensis command. |
| 65 | |
| 66 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 67 | Install NSIS if you didn't do that already. |
| 68 | Also install UPX, if you want a compressed file. |
Bram Moolenaar | 4a22897 | 2021-05-01 22:41:39 +0200 | [diff] [blame] | 69 | Download and include the ShellExecAsUser.dll Unicode version which can be |
| 70 | sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in |
| 71 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 72 | |
Bram Moolenaar | 24877cf | 2019-01-10 21:51:48 +0100 | [diff] [blame] | 73 | Unpack the images: |
| 74 | cd nsis |
| 75 | unzip icons.zip |
| 76 | |
Bram Moolenaar | 4d8f476 | 2021-06-27 15:18:56 +0200 | [diff] [blame] | 77 | Then build gvim.exe: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 78 | |
Bram Moolenaar | 24877cf | 2019-01-10 21:51:48 +0100 | [diff] [blame] | 79 | cd nsis |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 80 | makensis gvim.nsi |