Console mode DOS programs now receive mouse events.
[wine/hacks.git] / documentation / wine.man.in
blobcb5c9a3b05d9073f85d2297671a3cbe25d917c7d
1 .\" -*- nroff -*-
2 .TH WINE 1 "Oct 13, 2001" "Version 20011004" "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 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, pager, palette, pidl, print, process, profile, progress, prop,
99 propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, scroll,
100 segment, seh, selector, sendmsg, server, setupx, shell, snoop, sound,
101 static, statusbar, storage, stress, string, syscolor, system, tab, tape,
102 tapi, task, text, thread, thunk, timer, toolbar, toolhelp, tooltips,
103 trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave,
104 win, win16drv, win32, winedbg, wing, winsock, winspool, wnet, x11 and x11drv.
107 For more information on debugging messages, see the file 
108 .I documentation/debug-msgs
109 in the source distribution (FIXME: outdated).
112 .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]]
113 Selects the override type and load order of dll used in the loading
114 process for any dll. The default is set in the configuration
115 file. There are currently three types of libraries that can be loaded
116 into a process' address space: Native windows dlls (
117 .I native
118 ), native ELF libraries (
119 .I so
120 )and 
121 .B wine 
122 internal dlls (
123 .I builtin
124 ). The type may be abbreviated with the first letter of the type (
125 .I n, s, b
126 ). Each sequence of orders must be separated by commas.
128 Each dll may have its own specific load order. The load order
129 determines which version of the dll is attempted to be loaded into the
130 address space. If the first fails, then the next is tried and so
131 on. Multiple libraries with the same load order can be separated with
132 commas. It is also possible to use the --dll option several times, to
133 specify different loadorders for different libraries
135 Examples:
137 .I --dll comdlg32,commdlg=n,b
139 Try to load comdlg32 and commdlg as native windows dll first and try
140 the builtin version if the native load fails.
142 .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b
144 Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if 
145 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
147 .I --dll comdlg32,commdlg=b,n --dll shell,shell32=b --dll comctl32,commctrl=n
149 Try to load comdlg32 and commdlg as builtin first and try the native version
150 if the builtin load fails; load shell32/shell always as builtin and
151 comctl32/commctrl always as native.
153 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
154 having exactly the same load order. This will prevent mismatches at runtime.
155 See also configuration file format below.
157 .I --dosver version
158 Specify the DOS version 
159 .B wine 
160 should imitate (e.g. 6.22) This option
161 is only valid when used in conjunction with --winver win31.
163 .I --managed
164 Create each top-level window as a properly managed X window instead of
165 creating our own "sticky" window.
167 .I --winver version
168 Specify which Windows version 
169 .B wine 
170 should imitate.
171 Possible arguments are: win95, win98, winme, nt351, nt40, win2000, winxp, 
172 win20, win30 and win31.
173 .PD 1
174 .SH PROGRAM/ARGUMENTS
175 The program name may be specified in DOS format (
177 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
178 or in Unix format (
179 .I /msdos/windows/sol.exe
180 ).  You may pass arguments to the program being executed by adding them 
181 to the end of the command line invoking
182 .B wine
183 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT).
184 Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via
185 a shell, e.g.
187 wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe
189 Command line processing goes as
190 follows: first 
191 .B wine
192 checks whether one or more of the above mentioned 
193 .B wine 
194 options have been specified. These
195 are removed from the command line, which is passed to the windows program. You can use
196 the parameter 
197 .I -- 
198 to indicate that 
199 .B wine 
200 should stop command line processing. This is needed in case a windows program understands 
201 an option that is usually interpreted (and thus removed from the command line) 
202 by 
203 .B wine. 
204 For example, if you want to execute 
205 .B wine 
206 with the options 
207 .I --managed --dll riched32=n
208 and if 
209 .B wine 
210 should run the program 
211 .I myapp.exe
212 with the arguments
213 .I --display 3d somefile
214 , then you could use the following command line to invoke 
215 .B wine:
217 .I wine --managed --dll riched32=n -- myapp.exe --display 3d somefile
218 .PP 
219 Note that in contrast to previous versions of 
220 .B wine, 
221 you must not pass 
222 program name and program option in one argument to 
223 .B wine. 
224 To run more
225 than one windows program, just execute 
226 .B wine 
227 once with the name of each program as argument. 
228 .SH ENVIRONMENT VARIABLES
229 .B wine
230 makes the environment variables of the shell from which
231 .B wine
232 is started accessible to the windows/dos processes started. So use the
233 appropriate syntax for your shell to enter environment variables you need.
234 .TP 
235 .I WINEPREFIX
236 If set, the content of this variable is taken as the name of the directory where
237 .B wine
238 stores its data (the default is 
239 .I $HOME/.wine
240 ). This directory contains also the socket, which is used to communicate with the
241 .I wineserver.
242 All 
243 .B wine
244 processes using the same 
245 .B wineserver
246 (i.e.: same user) share certain things like registry, shared memory,
247 and config file.
248 By setting 
249 .I WINEPREFIX
250 to different values for different 
251 .B wine
252 processes, it is possible to run a number of truly independent 
253 .B wine
254 processes. 
256 .I WINEPRELOAD
257 If set, specifies the full name of a shared library that
258 .B wine
259 loads and runs as a Winelib application.
261 .I WINESERVER
262 Specifies the path and name of the
263 .B wineserver
264 binary. If not set, a file named "wineserver" is searched in the
265 path and in a few other likely locations.
267 .I WINELOADER
268 Specifies the path and name of the
269 .B wine
270 binary to use to launch new Windows processes. If not set, a binary
271 named "wine" is searched in the path and in a few other likely
272 locations.
274 .I WINEDLLPATH
275 Specifies the path(s) in which to search for builtin dll files. This
276 is a list of directories separated by ":". Builtin dlls are also
277 searched in the directories specified by the standard
278 .I LD_LIBRARY_PATH
279 if they are not found in the directories listed in
280 .I WINEDLLPATH.
282 .I DISPLAY
283 Specifies the X11 display to use.
284 .SH CONFIGURATION FILE
285 .B wine
286 expects a configuration file (
287 .I $WINEPREFIX/config
288 (~/.wine/config)
289 ), which must conform to the format specified in the
290 .BR wine.conf (5)
291 man page. A sample configuration file is documentation/samples/config in the 
292 .B wine 
293 source archive.
294 .SH AUTHORS
295 .B wine
296 is available thanks to the work of many developers. For a listing
297 of the authors, please see the file 
298 .B AUTHORS
299 in the top-level directory of the source distribution.
300 .SH COPYRIGHT
301 .B wine
302 can be distributed under the terms of the X11 license. A copy of the
303 license is in the file
304 .B LICENSE
305 in the top-level directory of the source distribution.
306 .SH BUGS
308 A status report on many applications is available from
309 .I http://www.winehq.com/Apps.
310 Please add entries to this list for applications you currently run.
312 Bug reports and successes may be posted to 
313 .I comp.emulators.ms-windows.wine.
314 If you want to post a bug report, please read the file
315 .I documentation/bugreports
316 in the 
317 .B wine 
318 source to see what information is necessary (FIXME: outdated).
320 For problems and suggestions with this manpage, please send a note to
321 James Juran <jrj120@psu.edu>.
322 .SH AVAILABILITY
323 The most recent public version of 
324 .B wine
325 can be obtained via FTP from ibiblio.org in the
326 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the
327 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the
328 diff's from the previous release. The same directory holds the
329 pre-built contents of the documentation in various formats
330 (wine-doc.xxx.gz).
332 The latest snapshot of the code may be obtained via CVS.  For information
333 on how to do this, please see
335 http://www.winehq.com/dev.html
337 WineHQ, the
338 .B wine
339 development headquarters, is at
340 .I http://www.winehq.com/.
341 This website contains a great deal of information about
342 .B wine.
345 .B wine 
346 newsgroup is 
347 .I comp.emulators.ms-windows.wine.
348 It is used for discussion of various 
349 .B wine end user aspects/help.
351 For further information about 
352 .B wine
353 development, you might want to subscribe to the 
354 .B wine 
355 "cvs", "devel" and "patches" mailing lists at
356 .I http://www.winehq.com/dev.html#ml.
357 .SH FILES
358 .PD 0
360 .I @bindir@/wine
361 The 
362 .B wine 
363 program loader.
365 .I @bindir@/wineconsole
366 The 
367 .B wine 
368 program loader for CUI (console) applications.
370 .I @bindir@/wineserver
371 The 
372 .B wine 
373 server 
374 .TP 
375 .I @bindir@/winedbg
376 The 
377 .B wine 
378 debugger
379 .TP 
380 .I @bindir@/wineclpsrv
381 The 
382 .B wine 
383 clipboard server
384 .TP 
385 .I @libdir@
386 Directory containing 
387 .B wine's
388 shared libraries 
390 .I ~/.wine/config
391 User-specific configuration file
392 .TP 
393 .I ~/.wine
394 Directory containing user specific data managed by 
395 .B wine. 
397 .SH "SEE ALSO"
398 .BR wine.conf (5)