1NSISWRAPPER(1) NSIS NSISWRAPPER(1)
2
3
4
6 nsiswrapper - Helper program for making NSIS Windows installers
7
9 nsiswrapper [options] [roots...]
10
11 nsiswrapper myprogram.exe anotherprog.exe docs/ > script.nsis
12
13 nsiswrapper --run myprogram.exe anotherprog.exe docs/
14
16 nsiswrapper is a helper program for making it easier to create Windows
17 installers in a cross-compiler environment. It still requires NSIS (a
18 Windows installer generator) but cuts out the tedium of writing the
19 NSIS command script, and can even invoke NSIS automatically to generate
20 a final Windows executable.
21
22 The general way to use it is to list out some files that you want
23 packaged. For example:
24
25 nsiswrapper myprogram.exe
26
27 This will search for "myprogram.exe" and any libraries ("*.dll") that
28 it depends upon, and then it will print out an NSIS script.
29
30 If you want to have it run "makensis" as well (to automatically create
31 a Windows installer) then do:
32
33 nsiswrapper --run myprogram.exe
34
35 which will generate "installer.exe" output file that contains
36 "myprogram.exe" plus any dependencies.
37
38 You can list other files and directories that you want to have
39 contained in your installer. For example:
40
41 nsiswrapper myprogram.exe anotherprog.exe docs/*.html
42
43 There are many other command line options which control aspects of the
44 NSIS command script (and hence, the final installer), such as:
45
46 • The name of the final installer.
47
48 • Desktop shortcuts and menu items.
49
50 • License files.
51
52 It's a good idea to examine the NSIS command script, to check that
53 nsiswrapper is including all the right dependencies.
54
56 Each parameter should refer to a file or directory which is to be
57 included in the installer.
58
59 These are known as "roots" because we also automatically add any
60 dependencies to the list of files. Thus if a Windows executable
61 requires any DLLs, those are added automatically. DLLs are searched
62 for on the current $PATH (environment variable).
63
64 We choose the install location by removing any common prefix from the
65 names of roots, which generally ensures that the original directory
66 structure is preserved. Thus for example if the original roots (and
67 any dependencies) are:
68
69 /usr/i686-w64-mingw32/sys-root/mingw/bin/program.exe
70 /usr/i686-w64-mingw32/sys-root/mingw/bin/library.dll
71 /usr/i686-w64-mingw32/sys-root/mingw/etc/config
72
73 then the install directory will look like this:
74
75 $INSTDIR/bin/program.exe
76 $INSTDIR/bin/library.dll
77 $INSTDIR/etc/config
78
79 ($INSTDIR is the installation directory chosen by the user at install
80 time).
81
82 You can also specify the install location (relative to $INSTDIR) by
83 adding roots of the form:
84
85 source=destination
86
87 for example:
88
89 /usr/i686-w64-mingw32/sys-root/mingw/bin/program.exe=program.exe
90 /usr/i686-w64-mingw32/sys-root/mingw/bin/library.dll=library.dll
91 /usr/i686-w64-mingw32/sys-root/mingw/etc/config=conf/config
92
93 which results in:
94
95 $INSTDIR/program.exe
96 $INSTDIR/library.dll
97 $INSTDIR/conf/config
98
100 --help
101 Print brief help message and exit.
102
103 --man
104 Print the full manual page for the command and exit.
105
106 --verbose
107 Print verbose messages while running. If this is not given then we
108 try to operate quietly.
109
110 --run
111 Normally this program just prints out the NSIS installer command
112 script. However if you supply this option, then we run "makensis"
113 and attempt to generate an actual Windows installer.
114
115 --with-gtk
116 GTK programs should normally supply this option. It ensures that
117 the correct files are copied and/or created by the installer for
118 GTK programs to work.
119
120 --name "Name"
121 Set the long name of the installer.
122
123 If not set, the script tries to invent a suitable name based on the
124 first root file given on the command line.
125
126 See also --outfile.
127
128 --outfile myinstaller.exe
129 Set the output filename for the installer.
130
131 If not set, this defaults to "installer.exe".
132
133 This is the same as the "OutFile" option to NSIS.
134
135 --installdir 'C:\foo'
136 Set the default Windows installation directory. If not set, this
137 program will choose a suitable default based on the name.
138
139 In any case, the end user can override this when they run the
140 installer.
141
142 Note that since this string will contain backslashes, you should
143 single-quote it to protect it from the shell.
144
145 This is the same as the "InstallDir" option to NSIS.
146
147 --installdirregkey 'HKLM SOFTWARE\FOO'
148 Set the name of the registry key used to save the installation
149 directory. This has two purposes: Firstly it is used to
150 automagically remember the installation directory between installs.
151 Secondly your program can use this as one method to find its own
152 installation directory (there are other ways to do this).
153
154 The default is "HKLM SOFTWARE\Name" where "Name" is derived from
155 the name of the installer.
156
157 Note that since this string will contain backslashes and spaces,
158 you should single-quote it to protect it from the shell.
159
160 This is the same as the "InstallDirRegKey" option to NSIS.
161
162
163
164mingw-nsiswrapper-12 2023-01-25 NSISWRAPPER(1)