BuildCommDCBAndTimeoutsA: Made the argument parsing case insensitive.
[wine.git] / documentation / wine.man.in
blobc18e6f16afdb42dade1a45c6eaa7fb8849ab8c10
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 .I program
15 loads and runs the given program, where the program is a DOS, Windows 3.x,
16 or Win32 executable (x86 binaries only).
17 .PP
18 For debugging wine, use
19 .B winedbg
20 .I program
21 instead.
22 .PP
23 For running CUI executables (Windows console programs), use
24 .B wineconsole
25 instead of
26 .B wine
27 . This will display all the output in a separate windows (this requires X11 to
28 run). Not using
29 .B wineconsole
30 for CUI programs will only provide very limited console support, and your
31 program might not function properly.
32 .PP
33 .B wine 
34 currently runs a growing list of applications written for all kinds of
35 Windows versions >= Win2.0, e.g. Win3.1, Win95/98, NT.
36 Older, simpler applications work better than newer, more complex ones.
37 Using Windows ME or Win2000 components with Wine is more problematic than
38 using none at all or the ones from older Windows versions.
39 A large percentage of the API has been implemented,
40 although there are still several major pieces of work left to do.
41 .SH REQUIREMENTS AND INSTALLATION
42 Read the README file in the Wine source distribution to know what Wine
43 requires and how it is installed from source.
44 .SH OPTIONS
45 .TP
46 .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
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 # is required and can be either + or -.  Note that 
61 there is not a space after the comma between names. yyy are either the
62 name of a whole DLL or a single API entry by name you either
63 want to include or exclude from the relay listing.  Case doesn't matter
64 for these.  You can do the same for snoop.
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=rtlleavecriticalsection:RtlEnterCriticalSection
79 will turn on all relay messages except for RtlLeaveCriticalSection and
80 RtlEnterCriticalSection.
81 .br 
82 .I --debugmsg +relay=advapi32
83 will only turn on relay messages into the ADVAPI32 code.
84 Never ever use simply --debugmsg +all ! Way too much info, and it crashes
85 way too easily, thus confusing unexperienced users.
86 .PP
87 The full list of names is:
88 all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret,
89 cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg,
90 console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr,
91 delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit,
92 elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics,
93 header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10,
94 int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard,
95 loaddll, ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi,
96 mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime,
97 module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll,
98 odbc, ole, opengl, pager, palette, pidl, print, process, profile, progress, 
99 prop, propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, 
100 richedit, scroll, segment, seh, selector, sendmsg, server, setupapi, 
101 setupx, shell, snoop, sound, static, statusbar, storage, stress, string, 
102 syscolor, system, tab, tape, tapi, task, text, thread, thunk, timer, toolbar,
103 toolhelp, tooltips, trackbar, treeview, ttydrv, tweak, typelib, updown, ver,
104 virtual, vxd, wave, win, win16drv, win32, winedbg, wing, wininet, winsock,
105 winspool, wnet, x11 and x11drv.
108 For more information on debugging messages, see the file 
109 .I documentation/running.sgml
110 in the source distribution (FIXME: outdated).
113 .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]]
114 Selects the override type and load order of dll used in the loading
115 process for any dll. The default is set in the configuration
116 file. There are currently three types of libraries that can be loaded
117 into a process' address space: Native windows dlls (
118 .I native
119 ), native ELF libraries (
120 .I so
121 )and 
122 .B wine 
123 internal dlls (
124 .I builtin
125 ). The type may be abbreviated with the first letter of the type (
126 .I n, s, b
127 ). Each sequence of orders must be separated by commas.
129 Each dll may have its own specific load order. The load order
130 determines which version of the dll is attempted to be loaded into the
131 address space. If the first fails, then the next is tried and so
132 on. Multiple libraries with the same load order can be separated with
133 commas. It is also possible to use the --dll option several times, to
134 specify different loadorders for different libraries
136 Examples:
138 .I --dll comdlg32,commdlg=n,b
140 Try to load comdlg32 and commdlg as native windows dll first and try
141 the builtin version if the native load fails.
143 .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b
145 Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if 
146 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
148 .I --dll comdlg32,commdlg=b,n --dll shell,shell32=b --dll comctl32,commctrl=n
150 Try to load comdlg32 and commdlg as builtin first and try the native version
151 if the builtin load fails; load shell32/shell always as builtin and
152 comctl32/commctrl always as native.
154 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
155 having exactly the same load order. This will prevent mismatches at runtime.
156 See also configuration file format below.
157 .PD 1
158 .SH PROGRAM/ARGUMENTS
159 The program name may be specified in DOS format (
161 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
162 or in Unix format (
163 .I /msdos/windows/sol.exe
164 ).  You may pass arguments to the program being executed by adding them 
165 to the end of the command line invoking
166 .B wine
167 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT).
168 Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via
169 a shell, e.g.
171 wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe
173 Command line processing goes as
174 follows: first 
175 .B wine
176 checks whether one or more of the above mentioned 
177 .B wine 
178 options have been specified. These
179 are removed from the command line, which is passed to the windows program. You can use
180 the parameter 
181 .I -- 
182 to indicate that 
183 .B wine 
184 should stop command line processing. This is needed in case a windows program understands 
185 an option that is usually interpreted (and thus removed from the command line) 
186 by 
187 .B wine. 
188 For example, if you want to execute 
189 .B wine 
190 with the options 
191 .I --dll riched32=n
192 and if 
193 .B wine 
194 should run the program 
195 .I myapp.exe
196 with the arguments
197 .I --display 3d somefile
198 , then you could use the following command line to invoke 
199 .B wine:
201 .I wine --dll riched32=n -- myapp.exe --display 3d somefile
202 .PP 
203 Note that in contrast to previous versions of 
204 .B wine, 
205 you must not pass 
206 program name and program option in one argument to 
207 .B wine. 
208 To run more
209 than one windows program, just execute 
210 .B wine 
211 once with the name of each program as argument. 
212 .SH ENVIRONMENT VARIABLES
213 .B wine
214 makes the environment variables of the shell from which
215 .B wine
216 is started accessible to the windows/dos processes started. So use the
217 appropriate syntax for your shell to enter environment variables you need.
218 .TP 
219 .I WINEPREFIX
220 If set, the content of this variable is taken as the name of the directory where
221 .B wine
222 stores its data (the default is 
223 .I $HOME/.wine
224 ). This directory contains also the socket, which is used to communicate with the
225 .I wineserver.
226 All 
227 .B wine
228 processes using the same 
229 .B wineserver
230 (i.e.: same user) share certain things like registry, shared memory,
231 and config file.
232 By setting 
233 .I WINEPREFIX
234 to different values for different 
235 .B wine
236 processes, it is possible to run a number of truly independent 
237 .B wine
238 processes. 
240 .I WINESERVER
241 Specifies the path and name of the
242 .B wineserver
243 binary. If not set, Wine will try to load
244 .B @bindir@/wineserver,
245 and if this doesn't exist it will then look for a file named
246 "wineserver" in the path and in a few other likely locations.
248 .I WINELOADER
249 Specifies the path and name of the
250 .B wine
251 binary to use to launch new Windows processes. If not set, Wine will
252 try to load
253 .B @bindir@/wine,
254 and if this doesn't exist it will then look for a file named "wine" in
255 the path and in a few other likely locations.
257 .I WINEDLLPATH
258 Specifies the path(s) in which to search for builtin dlls and Winelib
259 applications. This is a list of directories separated by ":". In
260 addition to any directory specified in
261 .I WINEDLLPATH,
262 Wine will also look in
263 .B @dlldir@.
265 .I DISPLAY
266 Specifies the X11 display to use.
267 .SH CONFIGURATION FILE
268 .B wine
269 expects a configuration file (
270 .I $WINEPREFIX/config
271 (~/.wine/config)
272 ), which must conform to the format specified in the
273 .BR wine.conf (5)
274 man page. A sample configuration file is documentation/samples/config in the 
275 .B wine 
276 source archive.
277 .SH AUTHORS
278 .B wine
279 is available thanks to the work of many developers. For a listing
280 of the authors, please see the file 
281 .B AUTHORS
282 in the top-level directory of the source distribution.
283 .SH COPYRIGHT
284 .B wine
285 can be distributed under the terms of the LGPL license. A copy of the
286 license is in the file
287 .B LICENSE
288 in the top-level directory of the source distribution.
289 .SH BUGS
291 A status report on many applications is available from
292 .I http://www.winehq.com/Apps.
293 Please add entries to this list for applications you currently run.
295 Bug reports may be posted to Wine Bugzilla
296 .I http://bugs.winehq.com
297 If you want to post a bug report, please read the file
298 .I documentation/bugs.sgml
299 in the 
300 .B wine 
301 source to see what information is necessary
303 Problems and suggestions with this manpage please also report to
304 .I http://bugs.winehq.com
305 .SH AVAILABILITY
306 The most recent public version of 
307 .B wine
308 can be obtained via FTP from ibiblio.org in the
309 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the
310 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the
311 diff's from the previous release. The same directory holds the
312 pre-built contents of the documentation in various formats
313 (wine-doc.xxx.gz).
315 The latest snapshot of the code may be obtained via CVS.  For information
316 on how to do this, please see
318 http://www.winehq.com/development/
320 WineHQ, the
321 .B wine
322 development headquarters, is at
323 .I http://www.winehq.com/.
324 This website contains a great deal of information about
325 .B wine.
328 .B wine 
329 newsgroup is 
330 .I comp.emulators.ms-windows.wine.
331 It is used for discussion of various 
332 .B wine end user aspects/help.
334 For further information about 
335 .B wine
336 development, you might want to subscribe to the 
337 .B wine 
338 mailing lists at
339 .I http://www.winehq.com/development/#ml
340 .SH FILES
341 .PD 0
343 .I @bindir@/wine
344 The 
345 .B wine 
346 program loader.
348 .I @bindir@/wineconsole
349 The 
350 .B wine 
351 program loader for CUI (console) applications.
353 .I @bindir@/wineserver
354 The 
355 .B wine 
356 server 
357 .TP 
358 .I @bindir@/winedbg
359 The 
360 .B wine 
361 debugger
362 .TP 
363 .I @bindir@/wineclipsrv
364 The 
365 .B wine 
366 clipboard server
367 .TP 
368 .I @dlldir@
369 Directory containing 
370 .B wine's
371 shared libraries 
373 .I ~/.wine/config
374 User-specific configuration file
375 .TP 
376 .I ~/.wine
377 Directory containing user specific data managed by 
378 .B wine. 
380 .SH "SEE ALSO"
381 .BR wine.conf (5)