.\" -*- nroff -*- .TH WINE 1 "Oct 13, 2001" "Version 20011004" "Windows On Unix" .SH NAME wine \- run Windows programs on Unix .SH SYNOPSIS .BI "wine " "[wine_options] " "[--] " "program " "[arguments ... ]" .PP For instructions on passing arguments to Windows programs, please see the .B PROGRAM/ARGUMENTS section of the man page. .SH DESCRIPTION .B wine .I program loads and runs the given program, where the program is a DOS, Windows 3.x, or Win32 executable (x86 binaries only). .PP For debugging wine, use .B winedbg .I program instead. .PP For running CUI executables (Windows console programs), use .B wineconsole instead of .B wine . This will display all the output in a separate windows (this requires X11 to run). Not using .B wineconsole for CUI programs will only provide very limited console support, and your program might not function properly. .PP .B wine currently runs a growing list of applications written for all kinds of Windows versions >= Win2.0, e.g. Win3.1, Win95/98, NT. Older, simpler applications work better than newer, more complex ones. Using Windows ME or Win2000 components with Wine is more problematic than using none at all or the ones from older Windows versions. A large percentage of the API has been implemented, although there are still several major pieces of work left to do. .SH REQUIREMENTS AND INSTALLATION Read the README file in the Wine source distribution to know what Wine requires and how it is installed from source. .SH OPTIONS .TP .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]] Turn debugging messages on or off. .RS +7 .PP xxx is optional and can be one of the following: .I err, .I warn, .I fixme, or .I trace. If xxx is not specified, all debugging messages for the specified channel are turned on. Each channel will print messages about a particular component of .B wine. # is required and can be either + or -. Note that there is not a space after the comma between names. yyy are either the name of a whole DLL or a single API entry by name you either want to include or exclude from the relay listing. Case doesn't matter for these. You can do the same for snoop. .PP For instance: .PP .I --debugmsg warn+all will turn on all warning messages (recommended for debugging) .br .I --debugmsg warn+dll,+heap will turn on DLL warning messages and all heap messages. .br .I --debugmsg fixme-all,warn+cursor,+relay will turn off all FIXME messages, turn on cursor warning messages, and turn on all relay messages (API calls). .br .I --debugmsg -relay=rtlleavecriticalsection:RtlEnterCriticalSection will turn on all relay messages except for RtlLeaveCriticalSection and RtlEnterCriticalSection. .br .I --debugmsg +relay=advapi32 will only turn on relay messages into the ADVAPI32 code. Never ever use simply --debugmsg +all ! Way too much info, and it crashes way too easily, thus confusing unexperienced users. .PP The full list of names is: all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret, cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg, console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr, delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit, elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics, header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10, int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard, loaddll, ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime, module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll, odbc, ole, opengl, pager, palette, pidl, print, process, profile, progress, prop, propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, richedit, scroll, segment, seh, selector, sendmsg, server, setupapi, setupx, shell, snoop, sound, static, statusbar, storage, stress, string, syscolor, system, tab, tape, tapi, task, text, thread, thunk, timer, toolbar, toolhelp, tooltips, trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave, win, win16drv, win32, winedbg, wing, wininet, winsock, winspool, wnet, x11 and x11drv. .PP For more information on debugging messages, see the file .I documentation/debug-msgs in the source distribution (FIXME: outdated). .RE .TP .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]] Selects the override type and load order of dll used in the loading process for any dll. The default is set in the configuration file. There are currently three types of libraries that can be loaded into a process' address space: Native windows dlls ( .I native ), native ELF libraries ( .I so )and .B wine internal dlls ( .I builtin ). The type may be abbreviated with the first letter of the type ( .I n, s, b ). Each sequence of orders must be separated by commas. .br Each dll may have its own specific load order. The load order determines which version of the dll is attempted to be loaded into the address space. If the first fails, then the next is tried and so on. Multiple libraries with the same load order can be separated with commas. It is also possible to use the --dll option several times, to specify different loadorders for different libraries .br Examples: .br .I --dll comdlg32,commdlg=n,b .br Try to load comdlg32 and commdlg as native windows dll first and try the builtin version if the native load fails. .br .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b .br Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. .br .I --dll comdlg32,commdlg=b,n --dll shell,shell32=b --dll comctl32,commctrl=n .br Try to load comdlg32 and commdlg as builtin first and try the native version if the builtin load fails; load shell32/shell always as builtin and comctl32/commctrl always as native. .br Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.) having exactly the same load order. This will prevent mismatches at runtime. See also configuration file format below. .TP .I --dosver version Specify the DOS version .B wine should imitate (e.g. 6.22) This option is only valid when used in conjunction with --winver win31. .TP .I --managed Create each top-level window as a properly managed X window instead of creating our own "sticky" window. .TP .I --winver version Specify which Windows version .B wine should imitate. Possible arguments are: win95, win98, winme, nt351, nt40, win2000, winxp, win20, win30 and win31. .PD 1 .SH PROGRAM/ARGUMENTS The program name may be specified in DOS format ( .I C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE) or in Unix format ( .I /msdos/windows/sol.exe ). You may pass arguments to the program being executed by adding them to the end of the command line invoking .B wine (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT). Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via a shell, e.g. .PP wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe .PP Command line processing goes as follows: first .B wine checks whether one or more of the above mentioned .B wine options have been specified. These are removed from the command line, which is passed to the windows program. You can use the parameter .I -- to indicate that .B wine should stop command line processing. This is needed in case a windows program understands an option that is usually interpreted (and thus removed from the command line) by .B wine. For example, if you want to execute .B wine with the options .I --managed --dll riched32=n and if .B wine should run the program .I myapp.exe with the arguments .I --display 3d somefile , then you could use the following command line to invoke .B wine: .PP .I wine --managed --dll riched32=n -- myapp.exe --display 3d somefile .PP Note that in contrast to previous versions of .B wine, you must not pass program name and program option in one argument to .B wine. To run more than one windows program, just execute .B wine once with the name of each program as argument. .SH ENVIRONMENT VARIABLES .B wine makes the environment variables of the shell from which .B wine is started accessible to the windows/dos processes started. So use the appropriate syntax for your shell to enter environment variables you need. .TP .I WINEPREFIX If set, the content of this variable is taken as the name of the directory where .B wine stores its data (the default is .I $HOME/.wine ). This directory contains also the socket, which is used to communicate with the .I wineserver. All .B wine processes using the same .B wineserver (i.e.: same user) share certain things like registry, shared memory, and config file. By setting .I WINEPREFIX to different values for different .B wine processes, it is possible to run a number of truly independent .B wine processes. .TP .I WINEPRELOAD If set, specifies the full name of a shared library that .B wine loads and runs as a Winelib application. .TP .I WINESERVER Specifies the path and name of the .B wineserver binary. If not set, a file named "wineserver" is searched in the path and in a few other likely locations. .TP .I WINELOADER Specifies the path and name of the .B wine binary to use to launch new Windows processes. If not set, a binary named "wine" is searched in the path and in a few other likely locations. .TP .I WINEDLLPATH Specifies the path(s) in which to search for builtin dll files. This is a list of directories separated by ":". Builtin dlls are also searched in the directories specified by the standard .I LD_LIBRARY_PATH if they are not found in the directories listed in .I WINEDLLPATH. .TP .I DISPLAY Specifies the X11 display to use. .SH CONFIGURATION FILE .B wine expects a configuration file ( .I $WINEPREFIX/config (~/.wine/config) ), which must conform to the format specified in the .BR wine.conf (5) man page. A sample configuration file is documentation/samples/config in the .B wine source archive. .SH AUTHORS .B wine is available thanks to the work of many developers. For a listing of the authors, please see the file .B AUTHORS in the top-level directory of the source distribution. .SH COPYRIGHT .B wine can be distributed under the terms of the X11 license. A copy of the license is in the file .B LICENSE in the top-level directory of the source distribution. .SH BUGS .PP A status report on many applications is available from .I http://www.winehq.com/Apps. Please add entries to this list for applications you currently run. .PP Bug reports and successes may be posted to .I comp.emulators.ms-windows.wine. If you want to post a bug report, please read the file .I documentation/bugreports in the .B wine source to see what information is necessary (FIXME: outdated). .PP For problems and suggestions with this manpage, please send a note to James Juran . .SH AVAILABILITY The most recent public version of .B wine can be obtained via FTP from ibiblio.org in the /pub/Linux/ALPHA/Wine/development directory. The releases are in the format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the diff's from the previous release. The same directory holds the pre-built contents of the documentation in various formats (wine-doc.xxx.gz). .PP The latest snapshot of the code may be obtained via CVS. For information on how to do this, please see .I http://www.winehq.com/dev.html .PP WineHQ, the .B wine development headquarters, is at .I http://www.winehq.com/. This website contains a great deal of information about .B wine. .PP The .B wine newsgroup is .I comp.emulators.ms-windows.wine. It is used for discussion of various .B wine end user aspects/help. .PP For further information about .B wine development, you might want to subscribe to the .B wine "cvs", "devel" and "patches" mailing lists at .I http://www.winehq.com/dev.html#ml. .SH FILES .PD 0 .TP .I @bindir@/wine The .B wine program loader. .TP .I @bindir@/wineconsole The .B wine program loader for CUI (console) applications. .TP .I @bindir@/wineserver The .B wine server .TP .I @bindir@/winedbg The .B wine debugger .TP .I @bindir@/wineclpsrv The .B wine clipboard server .TP .I @libdir@ Directory containing .B wine's shared libraries .TP .I ~/.wine/config User-specific configuration file .TP .I ~/.wine Directory containing user specific data managed by .B wine. .SH "SEE ALSO" .BR wine.conf (5)