Updates for the new loadorder handling of 16-bit dlls.
[wine] / documentation / wine.man.in
1 .\" -*- nroff -*-
2 .TH WINE 1 "May 2002" "@PACKAGE_STRING@" "Windows On Unix"
3 .SH NAME
4 wine \- run Windows programs on Unix
5 .SH SYNOPSIS
6 .BI "wine " "[wine_options] " "[--] " "program " "[arguments ... ]"
7 .PP
8 For instructions on passing arguments to Windows programs, please see the
9 .B
10 PROGRAM/ARGUMENTS
11 section of the man page.
12 .SH DESCRIPTION
13 .B wine
14 loads and runs the given program, where the program is a DOS, Windows
15 3.x, or Win32 executable (x86 binaries only).
16 .PP
17 For debugging wine, use
18 .B winedbg
19 instead.
20 .PP
21 For running CUI executables (Windows console programs), use
22 .B wineconsole
23 instead of
24 .B wine.
25 This will display all the output in a separate windows (this requires X11 to
26 run). Not using
27 .B wineconsole
28 for CUI programs will only provide very limited console support, and your
29 program might not function properly.
30 .PP
31 .B wine 
32 currently runs a growing list of applications written for all kinds of
33 Windows versions >= Win2.0, e.g. Win3.1, Win95/98, NT.
34 Older, simpler applications work better than newer, more complex ones.
35 Using Windows ME or Win2000 components with Wine is more problematic than
36 using none at all or the ones from older Windows versions.
37 A large percentage of the API has been implemented,
38 although there are still several major pieces of work left to do.
39 .SH REQUIREMENTS AND INSTALLATION
40 Read the README file in the Wine source distribution and the
41 .BR wine.conf (5)
42 man page to know what Wine requires and how it is installed from
43 source.
44 .SH OPTIONS
45 .TP
46 .I --debugmsg [xxx]#name[,[xxx1]#name1]
47 Turn debugging messages on or off.  
48 .RS +7
49 .PP
50 xxx is optional and can be one of the following: 
51 .I err, 
52 .I warn, 
53 .I fixme, 
54 or 
55 .I trace. 
56 If xxx is not specified, all debugging messages for the specified
57 channel are turned on.  Each channel will print messages about a particular
58 component of 
59 .B wine.  
60 # can be either + or - to switch the specified channel on or off
61 respectively.  If there is no
62 .I xxx
63 part before it, a leading + can be omitted. Note that spaces are not
64 allowed anywhere in the string.
65 .PP
66 For instance:
67 .PP
68 .I --debugmsg warn+all
69 will turn on all warning messages (recommended for debugging)
70 .br
71 .I --debugmsg warn+dll,+heap
72 will turn on DLL warning messages and all heap messages.  
73 .br
74 .I --debugmsg fixme-all,warn+cursor,+relay
75 will turn off all FIXME messages, turn on cursor warning messages, and turn
76 on all relay messages (API calls).
77 .br 
78 .I --debugmsg +relay
79 will turn on all relay messages. For more control on including or excluding
80 functions and dlls from the relay trace look into the [Debug] section
81 of the wine configuration file.
82 .PP
83 For more information on debugging messages, see the
84 .I Running Wine
85 chapter of the Wine User Guide.
86 .RE
87 .PD 1
88 .SH PROGRAM/ARGUMENTS
89 The program name may be specified in DOS format (
90 .I
91 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
92 or in Unix format (
93 .I /msdos/windows/sol.exe
94 ).  You may pass arguments to the program being executed by adding them 
95 to the end of the command line invoking
96 .B wine
97 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT).
98 Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via
99 a shell, e.g.
100 .PP
101 wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe
102 .PP
103 Command line processing goes as
104 follows: first 
105 .B wine
106 checks whether one or more of the above mentioned 
107 .B wine 
108 options have been specified. These
109 are removed from the command line, which is passed to the windows program. You can use
110 the parameter 
111 .I -- 
112 to indicate that 
113 .B wine 
114 should stop command line processing. This is needed in case a windows program understands 
115 an option that is usually interpreted (and thus removed from the command line) 
116 by 
117 .B wine. 
118 For example, if you want to execute 
119 .B wine 
120 with the options 
121 .I --debugmsg +module
122 and if 
123 .B wine 
124 should run the program 
125 .I myapp.exe
126 with the arguments
127 .I --display 3d somefile
128 , then you could use the following command line to invoke 
129 .B wine:
130 .PP
131 .I wine --debugmsg +module -- myapp.exe --display 3d somefile
132 .PP 
133 Note that in contrast to previous versions of 
134 .B wine, 
135 you must not pass 
136 program name and program option in one argument to 
137 .B wine. 
138 To run more
139 than one windows program, just execute 
140 .B wine 
141 once with the name of each program as argument. 
142 .SH ENVIRONMENT VARIABLES
143 .B wine
144 makes the environment variables of the shell from which
145 .B wine
146 is started accessible to the windows/dos processes started. So use the
147 appropriate syntax for your shell to enter environment variables you need.
148 .TP 
149 .I WINEPREFIX
150 If set, the content of this variable is taken as the name of the directory where
151 .B wine
152 stores its data (the default is 
153 .I $HOME/.wine
154 ). This directory contains also the socket, which is used to communicate with the
155 .I wineserver.
156 All 
157 .B wine
158 processes using the same 
159 .B wineserver
160 (i.e.: same user) share certain things like registry, shared memory,
161 and config file.
162 By setting 
163 .I WINEPREFIX
164 to different values for different 
165 .B wine
166 processes, it is possible to run a number of truly independent 
167 .B wine
168 processes. 
169 .TP
170 .I WINESERVER
171 Specifies the path and name of the
172 .B wineserver
173 binary. If not set, Wine will try to load
174 .B @bindir@/wineserver,
175 and if this doesn't exist it will then look for a file named
176 "wineserver" in the path and in a few other likely locations.
177 .TP
178 .I WINELOADER
179 Specifies the path and name of the
180 .B wine
181 binary to use to launch new Windows processes. If not set, Wine will
182 try to load
183 .B @bindir@/wine,
184 and if this doesn't exist it will then look for a file named "wine" in
185 the path and in a few other likely locations.
186 .TP
187 .I WINEDEBUG
188 Turns debugging messages on or off. The syntax of the variable is
189 identical to the syntax of the arguments for the --debugmsg option.
190 .TP
191 .I WINEDLLPATH
192 Specifies the path(s) in which to search for builtin dlls and Winelib
193 applications. This is a list of directories separated by ":". In
194 addition to any directory specified in
195 .I WINEDLLPATH,
196 Wine will also look in
197 .B @dlldir@.
198 .TP
199 .I WINEDLLOVERRIDES
200 Defines the override type and load order of dlls used in the loading
201 process for any dll. The default is set in the configuration
202 file. There are currently two types of libraries that can be loaded
203 into a process' address space: Native windows dlls (
204 .I native
205 ), 
206 .B wine 
207 internal dlls (
208 .I builtin
209 ). The type may be abbreviated with the first letter of the type (
210 .I n, b
211 ). Each sequence of orders must be separated by commas.
212 .br
213 Each dll may have its own specific load order. The load order
214 determines which version of the dll is attempted to be loaded into the
215 address space. If the first fails, then the next is tried and so
216 on. Multiple libraries with the same load order can be separated with
217 commas. It is also possible to use specify different loadorders for
218 different libraries by separating the entries by ";".
219 .br
220 The load order for a 16-bit dll is always defined by the load order of
221 the 32-bit dll that contains it (which can be identified by looking at
222 the symbolic link of the 16-bit .dll.so file). For instance if
223 ole32.dll is configured as builtin, storage.dll will be loaded as
224 builtin too, since the 32-bit ole32.dll contains the 16-bit
225 storage.dll.
226 .br
227 Examples:
228 .RS
229 .TP
230 WINEDLLOVERRIDES="comdlg32,shell32=n,b"
231 .br
232 Try to load comdlg32 and shell32 as native windows dll first and try
233 the builtin version if the native load fails.
234 .TP
235 WINEDLLOVERRIDES="comdlg32,shell32=n;c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b"
236 .br
237 Try to load the libraries comdlg32 and shell32 as native windows dlls. Furthermore, if 
238 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
239 .TP
240 WINEDLLOVERRIDES="comdlg32=b,n;shell32=b;comctl32=n"
241 .br
242 Try to load comdlg32 as builtin first and try the native version if
243 the builtin load fails; load shell32 always as builtin and comctl32
244 always as native.
245 .RE
246 .TP
247 .I DISPLAY
248 Specifies the X11 display to use.
249 .SH CONFIGURATION FILE
250 .B wine
251 expects a configuration file (
252 .I $WINEPREFIX/config
253 or
254 .I ~/.wine/config
255 if WINEPREFIX is not set), which must conform to the format specified
256 in the
257 .BR wine.conf (5)
258 man page. A sample configuration file is documentation/samples/config in the 
259 .B wine 
260 source archive.
261 .SH AUTHORS
262 .B wine
263 is available thanks to the work of many developers. For a listing
264 of the authors, please see the file 
265 .B AUTHORS
266 in the top-level directory of the source distribution.
267 .SH COPYRIGHT
268 .B wine
269 can be distributed under the terms of the LGPL license. A copy of the
270 license is in the file
271 .B LICENSE
272 in the top-level directory of the source distribution.
273 .SH BUGS
274 .PP
275 A status report on many applications is available from
276 .I http://www.winehq.org/Apps.
277 Please add entries to this list for applications you currently run.
278 .PP
279 Bug reports may be posted to Wine Bugzilla
280 .I http://bugs.winehq.org
281 If you want to post a bug report, please read the file
282 .I documentation/bugs.sgml
283 in the 
284 .B wine 
285 source to see what information is necessary
286 .PP
287 Problems and suggestions with this manpage please also report to
288 .I http://bugs.winehq.org
289 .SH AVAILABILITY
290 The most recent public version of 
291 .B wine
292 can be obtained via FTP from ibiblio.org in the
293 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the
294 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the
295 diff's from the previous release. The same directory holds the
296 pre-built contents of the documentation in various formats
297 (wine-doc.xxx.gz).
298 .PP
299 The latest snapshot of the code may be obtained via CVS.  For information
300 on how to do this, please see
301 .I
302 http://www.winehq.org/cvs
303 .PP
304 WineHQ, the
305 .B wine
306 development headquarters, is at
307 .I http://www.winehq.org/.
308 This website contains a great deal of information about
309 .B wine.
310 .PP
311 The
312 .B wine 
313 newsgroup is 
314 .I comp.emulators.ms-windows.wine.
315 It is used for discussion of various 
316 .B wine
317 end user aspects/help.
318 .PP
319 For further information about 
320 .B wine
321 development, you might want to subscribe to the 
322 .B wine 
323 mailing lists at
324 .I http://www.winehq.org/forums
325 .SH FILES
326 .PD 0
327 .TP
328 .I @bindir@/wine
329 The 
330 .B wine 
331 program loader.
332 .TP
333 .I @bindir@/wineconsole
334 The 
335 .B wine 
336 program loader for CUI (console) applications.
337 .TP
338 .I @bindir@/wineserver
339 The 
340 .B wine 
341 server 
342 .TP 
343 .I @bindir@/winedbg
344 The 
345 .B wine 
346 debugger
347 .TP 
348 .I @bindir@/wineclipsrv
349 The 
350 .B wine 
351 clipboard server
352 .TP 
353 .I @dlldir@
354 Directory containing 
355 .B wine's
356 shared libraries 
357 .TP
358 .I ~/.wine/config
359 User-specific configuration file
360 .TP 
361 .I ~/.wine
362 Directory containing user specific data managed by 
363 .B wine. 
364
365 .SH "SEE ALSO"
366 .BR wine.conf (5)