- Move "questions and comments" at the top of the document.

- Removed elfdll documentation.
- Properly documented Desktop and Managed config.
- Rearranged config entries according to importance.
- "wine.conf" -> "the wine config file" in some cases.
- Updated to new FTP URLs.
- Fix non-backslash-escaped paths (ouch !).
- Replace text references by real links.
- Misc. other updates.
This commit is contained in:
Andreas Mohr 2002-07-24 03:00:02 +00:00 committed by Alexandre Julliard
parent e1ae23e094
commit 5ec74d6f72
15 changed files with 688 additions and 648 deletions

View File

@ -13,6 +13,9 @@
--> -->
<!entity name-web-admin "WineHQ Web-Admin">
<!entity email-web-admin "web-admin@winehq.com">
<!entity name-jonathan-buzzard "Jonathan Buzzard"> <!entity name-jonathan-buzzard "Jonathan Buzzard">
<!entity email-jonathan-buzzard "jab@hex.prestel.co.uk"> <!entity email-jonathan-buzzard "jab@hex.prestel.co.uk">
@ -112,5 +115,3 @@
<!entity name-koen-deforche "Koen Deforche"> <!entity name-koen-deforche "Koen Deforche">
<!entity email-koen-deforche "jozef@kotnet.org"> <!entity email-koen-deforche "jozef@kotnet.org">

View File

@ -20,7 +20,7 @@
way -- advanced developers will probably prefer this. way -- advanced developers will probably prefer this.
</para> </para>
<para> <para>
When using either approach please report the problem you found When using either approach please report the problem you found
along with any relevant information to along with any relevant information to
<ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>. <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
</para> </para>
@ -56,7 +56,7 @@
<para> <para>
Post the bug to Post the bug to
<ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>. <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
Please, search Bugzilla database to check whether your problem is Please, search Bugzilla database to check whether your problem is
already found before posting a bug report. already found before posting a bug report.
Include your own detailed description of the problem with Include your own detailed description of the problem with
relevant information. Attach the "Nice Formatted Report" relevant information. Attach the "Nice Formatted Report"
@ -157,7 +157,7 @@
<term>all shells:</term> <term>all shells:</term>
<listitem> <listitem>
<screen> <screen>
<prompt>$ </prompt>echo quit | wine -debugmsg +relay [other_options] program_name >& filename.out; <prompt>$ </prompt>echo quit | wine -debugmsg +relay [other_options] program_name >& filename.out;
<prompt>$ </prompt>tail -n 100 filename.out > report_file <prompt>$ </prompt>tail -n 100 filename.out > report_file
</screen> </screen>
<para> <para>
@ -166,7 +166,7 @@
prints out so many debug msgs that they flood the terminal, eating CPU.) prints out so many debug msgs that they flood the terminal, eating CPU.)
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>tcsh and other csh-like shells:</term> <term>tcsh and other csh-like shells:</term>
<listitem> <listitem>
@ -184,7 +184,7 @@
<prompt>$ </prompt>tail -100 filename.out > report_file <prompt>$ </prompt>tail -100 filename.out > report_file
</screen> </screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
<para> <para>
<filename>report_file</filename> will now contain the <filename>report_file</filename> will now contain the
@ -197,8 +197,8 @@
<listitem> <listitem>
<para> <para>
Post the bug to <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>. Post the bug to <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
Please, search the Bugzilla database to check whether your problem Please, search the Bugzilla database to check whether your problem
is already reported. If it is already reported attach the bug report is already reported. If it is already reported attach the bug report
and add any other relevant information to the original bug report. and add any other relevant information to the original bug report.
</para> </para>
<para> <para>
@ -210,17 +210,6 @@
</listitem> </listitem>
</orderedlist> </orderedlist>
</sect2> </sect2>
<sect2>
<title>Questions and comments</title>
<para>
If after reading this document there is something you
couldn't figure out, or think could be explained better, or
that should have been included, please post to
<ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink> to
let us know how this document can be improved.
</para>
</sect2>
</sect1> </sect1>
</chapter> </chapter>

View File

@ -18,17 +18,17 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Drives and Information about them Drives and information about them
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Directory Settings Directory settings
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Port Settings Port settings
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -38,12 +38,12 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Wine's DLL Usage Wine's DLL usage
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Wine's Multimedia drivers and DLL configuration Wine's multimedia drivers and DLL configuration
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -524,10 +524,13 @@ And here is a setup for Drive A, a generic floppy drive:
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>elfdll</term> <term>builtin</term>
<listitem><para> <listitem><para>
ELF encapsulated windows DLL's. This is currently The most common form of DLL loading. This is
experimental (Not working yet). what you will use if the DLL is error-prone in
native form (KERNEL for example), you don't have
the native DLL, or you just want to be
Microsoft-free.
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
@ -537,13 +540,10 @@ And here is a setup for Drive A, a generic floppy drive:
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>builtin</term> <term>elfdll</term>
<listitem><para> <listitem><para>
The most common form of DLL loading. This is ELF encapsulated windows DLL's.
what you will use if the DLL is error-prone in No longer used, ignored.
native form (KERNEL for example), you don't have
the native DLL, or you just want to be
Microsoft-free.
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
@ -570,14 +570,14 @@ And here is a setup for Drive A, a generic floppy drive:
<sect3> <sect3>
<title>The [DllPairs] Section</title> <title>The [DllPairs] Section</title>
<para> <para>
At one time, there was a section called [DllPairs] in the At one time, there was a section called [DllPairs] in the
default configuration file, but this has been obsoleted default configuration file, but this has been obsoleted
because the pairing information has now been embedded into because the pairing information has now been embedded into
Wine itself. (The purpose of this section was merely to be Wine itself. (The purpose of this section was merely to be
able to issue warnings if the user attempted to pair able to issue warnings if the user attempted to pair
codependent 16-bit/32-bit DLLs of different types.) If you codependent 16-bit/32-bit DLLs of different types.) If you
still have this in your <filename>wine.conf</filename> or still have this in your <filename>~/.wine/.config</filename> or
<filename>~/.wine/config</filename>, you may safely delete it. <filename>wine.conf</filename>, you may safely delete it.
</para> </para>
</sect3> </sect3>
@ -614,18 +614,22 @@ And here is a setup for Drive A, a generic floppy drive:
that was included with your wine package): that was included with your wine package):
<programlisting> <programlisting>
[DllOverrides] [DllOverrides]
"rpcrt4" = "builtin, native"
"oleaut32" = "builtin, native"
"ole32" = "builtin, native"
"commdlg" = "builtin, native" "commdlg" = "builtin, native"
"comdlg32" = "builtin, native" "comdlg32" = "builtin, native"
"ver" = "builtin, native" "ver" = "builtin, native"
"version" = "builtin, native" "version" = "builtin, native"
"shell" = "builtin, native" "shell" = "builtin, native"
"shell32" = "builtin, native" "shell32" = "builtin, native"
"shfolder" = "builtin, native"
"shlwapi" = "builtin, native"
"shdocvw" = "builtin, native"
"lzexpand" = "builtin, native" "lzexpand" = "builtin, native"
"lz32" = "builtin, native" "lz32" = "builtin, native"
"comctl32" = "builtin, native" "comctl32" = "builtin, native"
"commctrl" = "builtin, native" "commctrl" = "builtin, native"
"wsock32" = "builtin"
"winsock" = "builtin"
"advapi32" = "builtin, native" "advapi32" = "builtin, native"
"crtdll" = "builtin, native" "crtdll" = "builtin, native"
"mpr" = "builtin, native" "mpr" = "builtin, native"
@ -633,8 +637,7 @@ And here is a setup for Drive A, a generic floppy drive:
"ddraw" = "builtin, native" "ddraw" = "builtin, native"
"dinput" = "builtin, native" "dinput" = "builtin, native"
"dsound" = "builtin, native" "dsound" = "builtin, native"
"mmsystem" = "builtin" "opengl32" = "builtin, native"
"winmm" = "builtin"
"msvcrt" = "native, builtin" "msvcrt" = "native, builtin"
"msvideo" = "builtin, native" "msvideo" = "builtin, native"
"msvfw32" = "builtin, native" "msvfw32" = "builtin, native"
@ -647,16 +650,16 @@ And here is a setup for Drive A, a generic floppy drive:
"msacm" = "builtin, native" "msacm" = "builtin, native"
"msacm32" = "builtin, native" "msacm32" = "builtin, native"
"midimap.drv" = "builtin, native" "midimap.drv" = "builtin, native"
"wnaspi32" = "builtin" ; you can specify applications too
"icmp" = "builtin" "notepad.exe" = "native, builtin"
; default for all other dlls
"*" = "native, builtin"
</programlisting> </programlisting>
</para> </para>
<note> <note>
<para> <para>
You see that elfdll or so is the first option for a few If loading of the libraries that are listed first fails,
of these dll's. This will fail for you, but you won't wine will just go on by using the second or third option.
notice it as wine will just use the second or third
option.
</para> </para>
</note> </note>
</sect3> </sect3>
@ -686,7 +689,7 @@ And here is a setup for Drive A, a generic floppy drive:
The default font wine uses. Fool around with it if you'd like. The default font wine uses. Fool around with it if you'd like.
</para> </para>
<para> <para>
OPTIONAL: OPTIONAL:
</para> </para>
<para> <para>
The <literal>Alias</literal> setting allows you to map an X font to a font The <literal>Alias</literal> setting allows you to map an X font to a font
@ -708,10 +711,10 @@ OPTIONAL:
</para> </para>
<para> <para>
Here is an example of an alias without masking. The font will show up in windows Here is an example of an alias without masking. The font will show up in windows
apps as "Google". When defining an alias in a config file, forget about my apps as "Google".
comment text (The "&lt;-- blah" stuff)
<programlisting> <programlisting>
"Alias0" = "Foo,--google-" &lt; "Alias0" = "Foo,--google-"
</programlisting> </programlisting>
</para> </para>
<para> <para>
@ -722,7 +725,8 @@ OPTIONAL:
</programlisting> </programlisting>
</para> </para>
<para> <para>
For more info check out <filename>&lt;dirs to wine>/documentation/fonts</filename> For more info check out the <link linkend="fonts">Fonts</link>
chapter.
</para> </para>
</sect3> </sect3>
@ -731,7 +735,7 @@ OPTIONAL:
<para> <para>
Even though it sounds like a lot of sections, these are Even though it sounds like a lot of sections, these are
all closely related. They are all for communications and all closely related. They are all for communications and
parallel ports. parallel ports.
</para> </para>
<para> <para>
The [serialports] section tells wine what serial ports it The [serialports] section tells wine what serial ports it
@ -776,18 +780,18 @@ OPTIONAL:
time, so it won't work perfectly. IT IS OPTIONAL. The only time, so it won't work perfectly. IT IS OPTIONAL. The only
setting you use in this section works to map a port (LPT1, setting you use in this section works to map a port (LPT1,
for example) to a file or a command. Here is an example, for example) to a file or a command. Here is an example,
mapping LPT1 to the file <filename>out.ps</filename>: mapping LPT1 to the file <filename>out.ps</filename>:
<programlisting>"LPT1:" = "out.ps"</programlisting> <programlisting>"LPT1:" = "out.ps"</programlisting>
</para> </para>
<para> <para>
The following command maps printing jobs to LPT1 to the The following command maps printing jobs to LPT1 to the
command <command>lpr</command>. Notice the |: command <command>lpr</command>. Notice the |:
<programlisting>"LPT1:" = "|lpr"</programlisting> <programlisting>"LPT1:" = "|lpr"</programlisting>
</para> </para>
<para> <para>
The [ports] section is usually useful only for people who The [ports] section is usually useful only for people who
need direct port access for programs requiring dongles or need direct port access for programs requiring dongles or
scanners. IF YOU DON'T NEED IT, DON'T USE IT! scanners. IF YOU DON'T NEED IT, DON'T USE IT!
</para> </para>
<para> <para>
<programlisting>"read" = "0x779,0x379,0x280-0x2a0"</programlisting> <programlisting>"read" = "0x779,0x379,0x280-0x2a0"</programlisting>
@ -871,18 +875,18 @@ OPTIONAL:
<para> <para>
The content of the section looks like: The content of the section looks like:
<programlisting> <programlisting>
[WinMM] [WinMM]
"Drivers" = "wineoss.drv" "Drivers" = "wineoss.drv"
"WaveMapper" = "msacm.drv" "WaveMapper" = "msacm.drv"
"MidiMapper" = "midimap.drv" "MidiMapper" = "midimap.drv"
</programlisting> </programlisting>
All the keys must be defined: All the keys must be defined:
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
The "Drivers" key is a ';' separated list of modules name, each of The "Drivers" key is a ';' separated list of modules name, each of
them containing a low level driver. All those drivers will be loaded them containing a low level driver. All those drivers will be loaded
when MMSYSTEM/WINMM is started and will provide their inner features. when MMSYSTEM/WINMM is started and will provide their inner features.
</para> </para>
</listitem> </listitem>
@ -894,8 +898,8 @@ OPTIONAL:
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
The "MidiMapper" represents the name of the module containing the Midi The "MidiMapper" represents the name of the module containing the MIDI
Mapper driver. Only one Midi mapper can be defined in the system. Mapper driver. Only one MIDI mapper can be defined in the system.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -905,23 +909,25 @@ OPTIONAL:
<sect3> <sect3>
<title>The [AppDefaults] Section</title> <title>The [AppDefaults] Section</title>
<para> <para>
The section is used to overwrite the setting of this file for a The section is used to overwrite certain settings of this file for a
special program with different settings. special program with different settings.
[AppDefaults] is not the real name of the section. The real name [AppDefaults] is not the real name of the section. The real name
consists of the leading word AppDefaults followed by the name consists of the leading word AppDefaults followed by the name
of the executable the section is valid for. The end of the section of the executable the section is valid for.
name is the name of the section of the configuration file its The end of the section name is the name of the
values should be overwritten with different settings. The three corresponding "standard" section of the configuration file
parts of the section name are separated by two backslashes. that should have some of its settings overwritten with the
application specific settings you define.
The three parts of the section name are separated by two backslashes.
</para> </para>
<para> <para>
Currently wine supports only overwriting the sections Currently wine supports only overwriting the sections
[DllOverrides] and [x11drv]. [DllOverrides], [x11drv], [version] and [dsound].
</para> </para>
<para> <para>
Here is an example that overwrites the normal settings for a Here is an example that overwrites the normal settings for a
program: program:
<programlisting> <programlisting>
;; default settings ;; default settings
[x11drv] [x11drv]
"Managed" = "Y" "Managed" = "Y"
@ -931,7 +937,7 @@ OPTIONAL:
[AppDefaults\\install.exe\\x11drv] [AppDefaults\\install.exe\\x11drv]
"Managed" = "N" "Managed" = "N"
"Desktop" = "800x600" "Desktop" = "800x600"
</programlisting> </programlisting>
</para> </para>
</sect3> </sect3>
</sect2> </sect2>
@ -948,21 +954,21 @@ OPTIONAL:
A systemwide config file, used for anyone who doesn't A systemwide config file, used for anyone who doesn't
have their own. NOTE: this file is currently unused as a have their own. NOTE: this file is currently unused as a
new global configuration mechanism is not in place at this new global configuration mechanism is not in place at this
time time.
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>$HOME/.wine/config</filename></term> <term><filename>$HOME/.wine/config</filename></term>
<listitem><para> <listitem><para>
Your own config file, that only is used for your user. Your own config file (which only is used for your user).
</para></listitem> </para></listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
<para> <para>
So copy your version of the <filename>wine.conf</filename> file to So copy your version of the wine config file to
<filename>/usr/local/etc/wine.conf</filename> or <filename>$HOME/.wine/config</filename>
<filename>$HOME/.wine/config</filename> for wine to recognize or <filename>/usr/local/etc/wine.conf</filename>
it. for wine to recognize it.
</para> </para>
</sect2> </sect2>
@ -970,7 +976,7 @@ OPTIONAL:
<title>What If It Doesn't Work?</title> <title>What If It Doesn't Work?</title>
<para> <para>
There is always a chance that things will go wrong. If the There is always a chance that things will go wrong. If the
unthinkable happens report the problem to unthinkable happens, report the problem to
<ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>, <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>,
try the newsgroup try the newsgroup
<systemitem>comp.emulators.ms-windows.wine</systemitem>, <systemitem>comp.emulators.ms-windows.wine</systemitem>,
@ -985,8 +991,7 @@ OPTIONAL:
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
<filename>http://www.la-sorciere.de/wine/index.html</filename> <filename>http://www.winehq.org/trouble/</filename>
(optional but recommended)
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -1060,15 +1065,13 @@ OPTIONAL:
that want to draw their own. that want to draw their own.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>Managed</term> <term>Managed</term>
<listitem> <listitem>
<para> <para>
Specified by using the Specified by using the <literal>Managed</literal>
<parameter>--managed</parameter> command-line option wine config file option (see below).
or the <literal>Managed</literal>
<filename>wine.conf</filename> option (see below).
Ordinary top-level frame windows with thick borders, Ordinary top-level frame windows with thick borders,
title bars, and system menus will be managed by your title bars, and system menus will be managed by your
window manager. This lets these applications integrate window manager. This lets these applications integrate
@ -1084,11 +1087,11 @@ OPTIONAL:
<term>Desktop-in-a-Box</term> <term>Desktop-in-a-Box</term>
<listitem> <listitem>
<para> <para>
Specified by using the Specified by using the <literal>Desktop</literal>
<parameter>--desktop</parameter> command-line option wine config file option (see below).
(with a geometry, e.g. <parameter>--desktop (adding a geometry, e.g. <literal>800x600</literal>
800x600</parameter> for a such-sized desktop, or for a such-sized desktop, or
even <parameter>--desktop 800x600+0+0</parameter> to even <literal>800x600+0+0</literal> to
automatically position the desktop at the upper-left automatically position the desktop at the upper-left
corner of the display). This is the mode most corner of the display). This is the mode most
compatible with the Windows model. All application compatible with the Windows model. All application
@ -1098,6 +1101,8 @@ OPTIONAL:
applications can roam freely within this virtual applications can roam freely within this virtual
workspace and think they own it all, without workspace and think they own it all, without
disturbing your other X apps. disturbing your other X apps.
Note: currently there's on desktop window for every
application; this will be fixed in the future.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -1108,68 +1113,6 @@ OPTIONAL:
<title>The [x11drv] section</title> <title>The [x11drv] section</title>
<variablelist> <variablelist>
<varlistentry>
<term>AllocSystemColors</term>
<listitem>
<para>
Applies only if you have a palette-based display, i.e.
if your X server is set to a depth of 8bpp, and if you
haven't requested a private color map. It specifies
the maximum number of shared colormap cells (palette
entries) Wine should occupy. The higher this value,
the less colors will be available to other
applications.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PrivateColorMap</term>
<listitem>
<para>
Applies only if you have a palette-based display, i.e.
if your X server is set to a depth of 8bpp. It
specifies that you don't want to use the shared color
map, but a private color map, where all 256 colors are
available. The disadvantage is that Wine's private
color map is only seen while the mouse pointer is
inside a Wine window, so psychedelic flashing and
funky colors will become routine if you use the mouse
a lot.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PerfectGraphics</term>
<listitem>
<para>
This option only determines whether fast X11 routines
or exact Wine routines will be used for certain ROP
codes in blit operations. Most users won't notice any
difference.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ScreenDepth</term>
<listitem>
<para>
Applies only to multi-depth displays. It specifies
which of the available depths Wine should use (and
tell Windows apps about).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Display</term>
<listitem>
<para>
This specifies which X11 display to use, and if
specified, will override both the
<envar>DISPLAY</envar> environment variable and the
<parameter>--display</parameter> command-line option.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>Managed</term> <term>Managed</term>
<listitem> <listitem>
@ -1179,7 +1122,30 @@ OPTIONAL:
by default. by default.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>Desktop</term>
<listitem>
<para>
Creates a main desktop window of a specified size
to display all Windows applications in.
The size argument could e.g. be "800x600".
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DXGrab</term>
<listitem>
<para>
If you don't use DGA, you may want an alternative
means to convince the mouse cursor to stay within the
game window. This option does that. Of course, as with
DGA, if Wine crashes, you're in trouble (although not
as badly as in the DGA case, since you can still use
the keyboard to get out of X).
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>UseDGA</term> <term>UseDGA</term>
<listitem> <listitem>
@ -1200,7 +1166,7 @@ OPTIONAL:
<filename>/dev/mem</filename>. <filename>/dev/mem</filename>.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>UseXShm</term> <term>UseXShm</term>
<listitem> <listitem>
@ -1215,20 +1181,7 @@ OPTIONAL:
sometimes. sometimes.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>DXGrab</term>
<listitem>
<para>
If you don't use DGA, you may want an alternative
means to convince the mouse cursor to stay within the
game window. This option does that. Of course, as with
DGA, if Wine crashes, you're in trouble (although not
as badly as in the DGA case, since you can still use
the keyboard to get out of X).
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>DesktopDoubleBuffered</term> <term>DesktopDoubleBuffered</term>
<listitem> <listitem>
@ -1242,6 +1195,80 @@ OPTIONAL:
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>AllocSystemColors</term>
<listitem>
<para>
Applies only if you have a palette-based display, i.e.
if your X server is set to a depth of 8bpp, and if you
haven't requested a private color map. It specifies
the maximum number of shared colormap cells (palette
entries) Wine should occupy. The higher this value,
the less colors will be available to other
applications.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PrivateColorMap</term>
<listitem>
<para>
Applies only if you have a palette-based display, i.e.
if your X server is set to a depth of 8bpp. It
specifies that you don't want to use the shared color
map, but a private color map, where all 256 colors are
available. The disadvantage is that Wine's private
color map is only seen while the mouse pointer is
inside a Wine window, so psychedelic flashing and
funky colors will become routine if you use the mouse
a lot.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Synchronous</term>
<listitem>
<para>
To be used for debugging X11 operations.
If Wine crashes with an X11 error, then you should enable
Synchronous mode to disable X11 request caching in order
to make sure that the X11 error happens directly after
the corresponding X11 call in the log file appears.
Will slow down X11 output !
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ScreenDepth</term>
<listitem>
<para>
Applies only to multi-depth displays. It specifies
which of the available depths Wine should use (and
tell Windows apps about).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Display</term>
<listitem>
<para>
This specifies which X11 display to use, and if
specified, will override the
<envar>DISPLAY</envar> environment variable.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>PerfectGraphics</term>
<listitem>
<para>
This option only determines whether fast X11 routines
or exact Wine routines will be used for certain ROP
codes in blit operations. Most users won't notice any
difference.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>TextCP</term> <term>TextCP</term>
<listitem> <listitem>
@ -1260,17 +1287,8 @@ OPTIONAL:
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>Synchronous</term>
<listitem>
<para>
<!-- FIXME: To be documented -->
To be documented...
</para>
</listitem>
</varlistentry>
</variablelist> </variablelist>
</sect2> </sect2>
</sect1> </sect1>
&registry; &registry;
@ -1439,16 +1457,16 @@ OPTIONAL:
<title>DLL configuration</title> <title>DLL configuration</title>
<sect2 id="dll-overrides"> <sect2 id="dll-overrides">
<title>DLL Overrides</title> <title>DLL Overrides</title>
<para> <para>
Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email> Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
</para> </para>
<para> <para>
(Extracted from <filename>wine/documentation/dll-overrides</filename>) (Extracted from <filename>wine/documentation/dll-overrides</filename>)
</para> </para>
<para> <para>
The <filename>wine.conf</filename> directives [DllDefaults] The wine config file directives [DllDefaults]
and [DllOverrides] are the subject of some confusion. The and [DllOverrides] are the subject of some confusion. The
overall purpose of most of these directives are clear enough, overall purpose of most of these directives are clear enough,
though - given a choice, should Wine use its own built-in though - given a choice, should Wine use its own built-in
@ -1456,7 +1474,7 @@ OPTIONAL:
in an existing Windows installation? This document explains in an existing Windows installation? This document explains
how this feature works. how this feature works.
</para> </para>
<sect3> <sect3>
<title>DLL types</title> <title>DLL types</title>
<variablelist> <variablelist>
@ -1476,24 +1494,6 @@ OPTIONAL:
that Wine is able to load on demand. that Wine is able to load on demand.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>elfdll</term>
<listitem> <para>
An "elfdll" is a Wine <filename>.so</filename> file
with a special Windows-like file structure that is as
close to Windows as possible, and that can also
seamlessly link dynamically with "native" DLLs, by
using special ELF loader and linker tricks. Bertho
Stultiens did some work on this, but this feature has
not yet been merged back into Wine (because of
political reasons and lack of time), so this DLL type
does not exist in the official Wine at this time. In
the meantime, the "builtin" DLL type gained some of
the features of elfdlls (such as dynamic loading), so
it's possible that "elfdll" functionality will be
folded into "builtin" at some point.
</para> </listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>so</term> <term>so</term>
<listitem> <para> <listitem> <para>
@ -1504,9 +1504,9 @@ OPTIONAL:
same API on both Windows and Unix. same API on both Windows and Unix.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</sect3> </sect3>
<sect3> <sect3>
<title>The [DllDefaults] section</title> <title>The [DllDefaults] section</title>
<variablelist> <variablelist>
@ -1520,7 +1520,7 @@ OPTIONAL:
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</sect3> </sect3>
<sect3> <sect3>
<title>The [DllPairs] section</title> <title>The [DllPairs] section</title>
<para> <para>
@ -1530,11 +1530,11 @@ OPTIONAL:
Wine itself. (The purpose of this section was merely to be Wine itself. (The purpose of this section was merely to be
able to issue warnings if the user attempted to pair able to issue warnings if the user attempted to pair
codependent 16-bit/32-bit DLLs of different types.) If you codependent 16-bit/32-bit DLLs of different types.) If you
still have this in your <filename>wine.conf</filename> or still have this in your <filename>~/.wine/config</filename> or
<filename>~/.wine/config</filename>, you may safely delete it. <filename>wine.conf</filename>, you may safely delete it.
</para> </para>
</sect3> </sect3>
<sect3> <sect3>
<title>The [DllOverrides] section</title> <title>The [DllOverrides] section</title>
<para> <para>
@ -1568,7 +1568,7 @@ OPTIONAL:
Graphics Device Interface. No effort has been made at trying to Graphics Device Interface. No effort has been made at trying to
run native GDI. Leave at <literal>builtin</literal>. run native GDI. Leave at <literal>builtin</literal>.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>user, user32</term> <term>user, user32</term>
<listitem> <para> <listitem> <para>
@ -1612,7 +1612,7 @@ OPTIONAL:
<literal>native</literal>. Leave at <literal>native</literal>. Leave at
<literal>builtin</literal>. <literal>builtin</literal>.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>display</term> <term>display</term>
<listitem> <para> <listitem> <para>
@ -1662,7 +1662,7 @@ OPTIONAL:
most undocumented pieces of Windows, you may have luck with the most undocumented pieces of Windows, you may have luck with the
<literal>native</literal> version, should you need it. <literal>native</literal> version, should you need it.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>winsock, wsock32</term> <term>winsock, wsock32</term>
<listitem> <para> <listitem> <para>
@ -1730,7 +1730,7 @@ OPTIONAL:
DirectInput. Running this <literal>native</literal> DirectInput. Running this <literal>native</literal>
may or may not work. may or may not work.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>dsound</term> <term>dsound</term>
<listitem> <para> <listitem> <para>
@ -1820,16 +1820,16 @@ OPTIONAL:
doesn't exist. doesn't exist.
</para> </listitem> </para> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</sect3> </sect3>
</sect2> </sect2>
<sect2 id="dll-missing"> <sect2 id="dll-missing">
<title>Missing DLLs</title> <title>Missing DLLs</title>
<para> <para>
Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email> Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
</para> </para>
<para> <para>
In case Wine complains about a missing DLL, you should check whether In case Wine complains about a missing DLL, you should check whether
this file is a publicly available DLL or a custom DLL belonging this file is a publicly available DLL or a custom DLL belonging
@ -1839,13 +1839,35 @@ OPTIONAL:
DLLs usually get loaded according to the mechanism of the DLLs usually get loaded according to the mechanism of the
SearchPath() function. SearchPath() function.
This function searches directories in the following order: This function searches directories in the following order:
a) The directory the program was started from. <orderedlist>
b) The current directory. <listitem>
c) The Windows system directory. <para>
d) The Windows directory. The directory the program was started from.
e) The PATH variable directories. </para>
</listitem>
<listitem>
<para>
The current directory.
</para>
</listitem>
<listitem>
<para>
The Windows system directory.
</para>
</listitem>
<listitem>
<para>
The Windows directory.
</para>
</listitem>
<listitem>
<para>
The PATH variable directories.
</para>
</listitem>
</orderedlist>
In short: either put the required DLL into your application In short: either put the required DLL into your application
directory (might be ugly), or usually put it into the Windows system directory (might be ugly), or usually put it into the Windows system
directory. Just find out its directory by having a look at the Wine directory. Just find out its directory by having a look at the Wine
@ -2000,7 +2022,7 @@ static const char main_key_NO[MAIN_LEN][4] =
"aA","sS","dD","fF","gG","hH","jJ","kK","lL","øØ","æÆ","'*", "aA","sS","dD","fF","gG","hH","jJ","kK","lL","øØ","æÆ","'*",
"zZ","xX","cC","vV","bB","nN","mM",",;",".:","-_", "zZ","xX","cC","vV","bB","nN","mM",",;",".:","-_",
"&lt;>" "&lt;>"
}; };
</programlisting> </programlisting>
<para> <para>
Except that " and \ needs to be quoted with a backslash, and Except that " and \ needs to be quoted with a backslash, and
@ -2019,7 +2041,7 @@ static struct {
} main_key_tab[]={ } main_key_tab[]={
... ...
... ...
{MAKELANGID(LANG_NORWEGIAN,SUBLANG_DEFAULT), 1252, 865, &amp;main_key_NO}, {MAKELANGID(LANG_NORWEGIAN,SUBLANG_DEFAULT), 1252, 865, &amp;main_key_NO},
... ...
</programlisting> </programlisting>
<para> <para>

View File

@ -124,7 +124,7 @@
<listitem> <listitem>
<para>works with console handles</para> <para>works with console handles</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
@ -236,10 +236,10 @@ wine -console ncurses+xterm &lt;application&gt;
</sect3> </sect3>
<sect3> <sect3>
<title>II. <filename>wine.conf</filename> Configuration</title> <title>II. wine config file configuration</title>
<para> <para>
In the <filename>wine.conf</filename> file, you can create In the wine config file, you can create
a section called [console] that contains configuration a section called [console] that contains configuration
options that are respected by the assorted console options that are respected by the assorted console
drivers. drivers.
@ -370,7 +370,7 @@ wine -console ncurses+xterm &lt;application&gt;
As X terminals typically use a 24x80 screen resolution As X terminals typically use a 24x80 screen resolution
rather than the typical 25x80 one, it is necessary to rather than the typical 25x80 one, it is necessary to
resize the screen to allow a DOS program to work resize the screen to allow a DOS program to work
full-screen. There is a <filename>wine.conf</filename> full-screen. There is a wine config file
option to work around this in some cases but run-time option to work around this in some cases but run-time
resizing will be disabled. resizing will be disabled.
</para> </para>

View File

@ -760,7 +760,7 @@ HRSRC16 WINAPI FindResource16( HMODULE16 hModule, SEGPTR name, SEGPTR type )
<listitem> <listitem>
<para> <para>
for messages intended for the user (specifically those that for messages intended for the user (specifically those that
report errors in <filename>wine.conf</filename>), use the report errors in the wine config file), use the
<literal>MSG</literal> macro. Use it like a <literal>MSG</literal> macro. Use it like a
<function>printf</function>: <function>printf</function>:
<programlisting> <programlisting>

View File

@ -32,7 +32,7 @@
fonts (<filename>VGASYS.FON</filename>, fonts (<filename>VGASYS.FON</filename>,
<filename>SSERIFE.FON</filename>, and <filename>SSERIFE.FON</filename>, and
<filename>SERIFE.FON</filename>) into the format that the X <filename>SERIFE.FON</filename>) into the format that the X
Window System can recognize. Window System can recognize.
</para> </para>
<orderedlist> <orderedlist>
@ -62,7 +62,7 @@
copied fonts to. If you are already in X you should run copied fonts to. If you are already in X you should run
<command>xset fp rehash</command> to make X server aware <command>xset fp rehash</command> to make X server aware
of the new fonts. You may also or instead have to restart of the new fonts. You may also or instead have to restart
the font server (using e.g. the font server (using e.g.
<command>/etc/init.d/xfs restart</command> <command>/etc/init.d/xfs restart</command>
under RedHat 7.1) under RedHat 7.1)
</para> </para>
@ -252,7 +252,7 @@ Alias1 = ...
<literal>-sony-fixed-</literal> are different fonts Wine <literal>-sony-fixed-</literal> are different fonts Wine
modified the second extracted name to make sure Windows modified the second extracted name to make sure Windows
programs can distinguish them because only extracted programs can distinguish them because only extracted
names appear in the font selection dialogs. names appear in the font selection dialogs.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -398,7 +398,7 @@ Resolution = &lt;integer value&gt;
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Get <filename>freetype-1.0.full.tar.gz</filename></para> <para>Get a freetype source archive (<filename>freetype-X.Y.tar.gz</filename> ?).</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Read docs, unpack, configure and install</para> <para>Read docs, unpack, configure and install</para>
@ -485,7 +485,7 @@ FontPath "tcp/localhost:7100"
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para>Test with e.g <command>xlsfont | grep arial</command></para> <para>Test with e.g. <command>xlsfont | grep arial</command></para>
</listitem> </listitem>
</orderedlist> </orderedlist>

View File

@ -25,7 +25,7 @@
linkend="getting-dist-other">other</link> distributions. linkend="getting-dist-other">other</link> distributions.
</para> </para>
<para> <para>
If you're not lucky enough to have an available package for If you're not lucky enough to have a package available for
your operating system, or if you'd prefer a newer version of your operating system, or if you'd prefer a newer version of
Wine than already exists as a package, you may have to Wine than already exists as a package, you may have to
download the Wine source code and compile it yourself on your download the Wine source code and compile it yourself on your
@ -33,7 +33,7 @@
especially with the many helpful tools that come with Wine. especially with the many helpful tools that come with Wine.
You don't need any programming experience to compile and You don't need any programming experience to compile and
install Wine, although it might be nice to have some minor install Wine, although it might be nice to have some minor
UNIX administrative skill. We'll cover how to retrieve and UNIX administrative skills. We'll cover how to retrieve and
compile the official source releases from the <link compile the official source releases from the <link
linkend="getting-source-ftp">FTP archives</link>, and also how linkend="getting-source-ftp">FTP archives</link>, and also how
to get the cutting edge up-to-the-minute fresh Wine source to get the cutting edge up-to-the-minute fresh Wine source
@ -113,7 +113,7 @@ $ su -
<para> <para>
Redhat/RPM users can use <ulink url="http://rpmfind.net/linux/RPM/"> Redhat/RPM users can use <ulink url="http://rpmfind.net/linux/RPM/">
rpmfind.net</ulink> to track down available Wine RPM binaries. rpmfind.net</ulink> to track down available Wine RPM binaries.
<ulink url="http://rpmfind.net/linux/RPM/WByName.html"> This <ulink url="http://rpmfind.net/linux/RPM/WByName.html"> This
page</ulink> contains a list of all rpmfind packages that start with page</ulink> contains a list of all rpmfind packages that start with
the letter "W", including a few Wine packages the letter "W", including a few Wine packages
@ -160,7 +160,7 @@ $ su -
<para> <para>
The safest way to grab the source is from one of the official The safest way to grab the source is from one of the official
FTP archives. An up to date listing is in the <ulink FTP archives. An up to date listing is in the <ulink
url="http://www.winehq.com/source/ANNOUNCE">ANNOUNCE </ulink> url="http://www.winehq.com/source/ANNOUNCE">ANNOUNCE</ulink>
file in the Wine distribution (which you would have if you file in the Wine distribution (which you would have if you
already downloaded it). Here is a (possibly out of date) list already downloaded it). Here is a (possibly out of date) list
of FTP servers carrying Wine: of FTP servers carrying Wine:
@ -168,15 +168,8 @@ $ su -
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
<ulink url="ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/"> <ulink url="ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/">
ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/ ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/">
ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/
</ulink> </ulink>
</para> </para>
</listitem> </listitem>
@ -187,6 +180,13 @@ $ su -
</ulink> </ulink>
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<ulink url="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/sunsite.unc.edu/ALPHA/wine/development/">
ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/sunsite.unc.edu/ALPHA/wine/development/
</ulink>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
<ulink url="ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/"> <ulink url="ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/">
@ -237,13 +237,13 @@ $ cvs checkout wine
the updates: the updates:
</para> </para>
<screen> <screen>
$ cvs -dP update $ cvs -PAd update
</screen> </screen>
<para> <para>
<command>cvs update</command> works from inside the source tree. <command>cvs update</command> works from inside the source tree.
You don't need the <envar>CVSROOT</envar> environment variable You don't need the <envar>CVSROOT</envar> environment variable
to run it either. You just have to be inside the source tree. to run it either. You just have to be inside the source tree.
The <parameter>-d</parameter> and <parameter>-P</parameter> The <parameter>-P</parameter>, <parameter>-A</parameter> and <parameter>-d</parameter>
options make sure your local Wine tree directory structure stays options make sure your local Wine tree directory structure stays
in sync with the remote repository. in sync with the remote repository.
</para> </para>
@ -313,18 +313,18 @@ $ patch -p0 --dry-run < ../patch_to_apply.diff
</para> </para>
<para> <para>
The <parameter>-p0</parameter> option to <command>patch</command> The <parameter>-p0</parameter> option to <command>patch</command>
tells it to keep the full file name from the patch file. For example, tells it to keep the full file name from the patch file. For example,
if the file name in the patch file was if the file name in the patch file was
<filename>wine/programs/clock/main.c</filename>. <filename>wine/programs/clock/main.c</filename>.
Setting the <parameter>-p0</parameter> option would apply the patch Setting the <parameter>-p0</parameter> option would apply the patch
to the file of the same name i.e. to the file of the same name i.e.
<filename>wine/programs/clock/main.c </filename>. <filename>wine/programs/clock/main.c </filename>.
Setting the <parameter>-p1</parameter> option would strip off the Setting the <parameter>-p1</parameter> option would strip off the
first part of the file name and apply first part of the file name and apply
the patch instead to <filename>programs/clock/main.c </filename>. the patch instead to <filename>programs/clock/main.c </filename>.
The <parameter>-p1</parameter> option would be useful if you named The <parameter>-p1</parameter> option would be useful if you named
your top level wine directory differently to the person who sent you your top level wine directory differently to the person who sent you
the patch. For the <parameter>-p1</parameter> option the patch. For the <parameter>-p1</parameter> option
<command>patch</command> should be run from the top level wine directory. <command>patch</command> should be run from the top level wine directory.
</para> </para>

View File

@ -7,7 +7,7 @@
<para> <para>
Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email> Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
</para> </para>
<sect2> <sect2>
@ -72,7 +72,8 @@
paths, class IDs, and more; it must be installed before most paths, class IDs, and more; it must be installed before most
<filename>INSTALL.EXE</filename> or <filename>INSTALL.EXE</filename> or
<filename>SETUP.EXE</filename> applications will work. The <filename>SETUP.EXE</filename> applications will work. The
registry is covered in more detail in an earlier article. registry is covered in more detail <link
linkend="registry">here</link>.
</para> </para>
</sect2> </sect2>
@ -134,9 +135,9 @@ C:\ Root directory of primary disk drive
file existence to determine whether a particular feature file existence to determine whether a particular feature
(such as Winsock and its TCP/IP networking) is available. If (such as Winsock and its TCP/IP networking) is available. If
this is a problem for you, you can create empty files in the this is a problem for you, you can create empty files in the
<filename>system</filename> directory to make the configured <filename>c:\windows\system</filename> directory
application think it's there, and Wine's built-in DLL will to make the application think it's there, and Wine's built-in DLL
be loaded when the application actually asks for it. will be loaded when the application actually asks for it.
(Unfortunately, <filename>tools/wineinstall</filename> does (Unfortunately, <filename>tools/wineinstall</filename> does
not create such empty files itself.) not create such empty files itself.)
</para> </para>
@ -212,7 +213,7 @@ C:\ Root directory of primary disk drive
Use <filename>tools/wineinstall</filename> to compile Wine Use <filename>tools/wineinstall</filename> to compile Wine
and install the default registry. Or if you prefer to do and install the default registry. Or if you prefer to do
it yourself, compile <filename>programs/regapi</filename>, it yourself, compile <filename>programs/regapi</filename>,
and run: and run:
</para> </para>
<screen> <screen>
<userinput>programs/regapi/regapi setValue &lt; winedefault.reg</userinput> <userinput>programs/regapi/regapi setValue &lt; winedefault.reg</userinput>
@ -242,10 +243,10 @@ C:\ Root directory of primary disk drive
<listitem> <listitem>
<para> <para>
Run the application with <parameter>--debugmsg Run the application with <parameter>--debugmsg
+module,+file</parameter> to find out which files are +loaddll</parameter> to find out which files are
needed. Copy the required DLLs one by one to the needed. Copy the required DLLs one by one to the
<filename>C:\windows\system</filename> directory. Do not <filename>C:\windows\system</filename> directory. Do not
copy KERNEL/KERNEL32, GDI/GDI32, or USER/USER32. These copy KERNEL/KERNEL32, GDI/GDI32, USER/USER32 or NTDLL. These
implement the core functionality of the Windows API, and implement the core functionality of the Windows API, and
the Wine internal versions must be used. the Wine internal versions must be used.
</para> </para>
@ -519,7 +520,7 @@ drwxrwxr-x 41 sle sle 16384 Dec 30 1998 windows</computeroutput>
<filename>AnApp</filename> directories while only root has <filename>AnApp</filename> directories while only root has
write access to all other directories. write access to all other directories.
</para> </para>
</sect2> </sect2>
</sect1> </sect1>
<sect1 id="scsi-support"> <sect1 id="scsi-support">
@ -556,8 +557,8 @@ drwxrwxr-x 41 sle sle 16384 Dec 30 1998 windows</computeroutput>
if you're running as root, all bets are off). if you're running as root, all bets are off).
</para> </para>
<para> <para>
So please make sure that <emphasis>all</emphasis> SCSI devices not needed by the program So please make sure that <emphasis>all</emphasis> SCSI devices not needed by the program
have their permissions set as restricted as possible ! have their permissions set as restricted as possible !
</para> </para>
<para> <para>

View File

@ -48,7 +48,7 @@
</footnote> </footnote>
However, Wine makes it possible to run native Windows However, Wine makes it possible to run native Windows
applications alongside native Linux applications on a Linux applications alongside native Linux applications on a Linux
(or Solaris) system. You can share desktop space between MS (or BSD or Solaris) system. You can share desktop space between MS
Word and GnuCash, overlapping their windows, iconizing them, Word and GnuCash, overlapping their windows, iconizing them,
and even running them from the same launcher. and even running them from the same launcher.
</para> </para>
@ -98,6 +98,21 @@
<para> <para>
</para> </para>
</sect2> </sect2>
<sect2>
<title>Burning questions and comments</title>
<para>
If during reading this document there is something you
can't figure out, or think could be explained better, or
that should have been included, please immediately mail to
&name-web-admin; <email>&email-web-admin</email> or
post a bug report at the
<ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink> to
let us know how this document can be improved.
Remember, Open Source is
"free as in free speech, not as in free beer":
it can only work in case of very active involvement of its users !
</para>
</sect2>
</sect1> </sect1>
<!-- *** Not really useful as is, but may be able to recycle this elsewhere... <!-- *** Not really useful as is, but may be able to recycle this elsewhere...
@ -142,7 +157,7 @@
<listitem> <listitem>
<para> <para>
a computer ;-) Wine: only PCs >= i386 are supported at a computer ;-) Wine: only PCs >= i386 are supported at
the moment. Winelib: other platforms might be the moment. Winelib: other platforms may be
supported, but can be tricky. supported, but can be tricky.
</para> </para>
</listitem> </listitem>
@ -155,7 +170,7 @@
<listitem> <listitem>
<para> <para>
>= 16MB of RAM. Everything below is pretty much >= 16MB of RAM. Everything below is pretty much
unusable. >= 64 MB is needed for a "good" execution. unusable. >= 64 MB is needed for "good" execution.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -163,7 +178,7 @@
an X11 window system (XFree86 etc.). Wine is prepared an X11 window system (XFree86 etc.). Wine is prepared
for other graphics display drivers, but writing for other graphics display drivers, but writing
support is not too easy. The text console display support is not too easy. The text console display
driver is nearly usable. driver (ttydrv) is nearly usable.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -181,7 +196,7 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Support for executing DOS, Win 3.x and Win9x/NT/Win2000 Support for executing DOS, Win 3.x and Win9x/NT/Win2000/XP
programs (most of Win32's controls are supported) programs (most of Win32's controls are supported)
</para> </para>
</listitem> </listitem>

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<!-- Wine Packaging guidelines. This is a rough outline only, <!-- Wine Packaging guidelines. This is a rough outline only,
and much of this was up for open debate on wine-devel. --> and much of this was up for open debate on wine-devel. -->
<chapter id="pkg-preface"> <title>Preface</title> <chapter id="pkg-preface"> <title>Preface</title>
<sect1 id="pkg-authors"> <title>Authors</title> <sect1 id="pkg-authors"> <title>Authors</title>
@ -115,7 +115,7 @@
<para> <para>
It expresses the basic principles that the It expresses the basic principles that the
Wine developers have agreed should be Wine developers have agreed should be
used when building Wine. used when building Wine.
It also attempts to highlight the areas It also attempts to highlight the areas
where there are different approaches where there are different approaches
to packaging Wine, so that the packager to packaging Wine, so that the packager
@ -152,11 +152,11 @@
<listitem> <listitem>
<para> <para>
Comply with Filesystem Hierarchy Standard Comply with Filesystem Hierarchy Standard
</para> </para>
<para> <para>
A Wine installation should, as much as possible, comply A Wine installation should, as much as possible, comply
with the with the
<ulink url="http://www.pathname.com/fhs/">FHS standard</ulink>. <ulink url="http://www.pathname.com/fhs/">FHS standard</ulink>.
</para> </para>
</listitem> </listitem>
@ -167,7 +167,7 @@
</para> </para>
<para> <para>
None of the flexibility built into Wine should None of the flexibility built into Wine should
be hidden from the end user. be hidden from the end user.
</para> </para>
</listitem> </listitem>
@ -766,8 +766,8 @@
</para> </para>
<para> <para>
At the time of this writing, I do not have a At the time of this writing, I do not have a
definitive list of documentation files to definitive list of documentation files to
be installed. However, they do include be installed. However, they do include
the HTML files generated from the SGML in the Wine CVS tree. the HTML files generated from the SGML in the Wine CVS tree.
</para> </para>
</listitem> </listitem>
@ -813,6 +813,8 @@
This is the global Wine configuration file. It This is the global Wine configuration file. It
is only used if the user running Wine has is only used if the user running Wine has
no local configuration file. no local configuration file.
Global wine configuration is currently not possible;
this might get reenabled at some time.
</para> </para>
<para> <para>
Some packagers feel that this file should not Some packagers feel that this file should not
@ -866,7 +868,7 @@
.dat files from a Windows partion are loaded, .dat files from a Windows partion are loaded,
then global registry settings from <link linkend=ETCDIR endterm=etcdir.id></link>, then global registry settings from <link linkend=ETCDIR endterm=etcdir.id></link>,
and then finally local registry settings are and then finally local registry settings are
loaded from <link linkend=WINECONFDIR endterm=wineconfdir.id></link> loaded from <link linkend=WINECONFDIR endterm=wineconfdir.id></link>
. As each set are loaded, . As each set are loaded,
they can override the prior entries. Thus, they can override the prior entries. Thus,
the local registry files take precedence. the local registry files take precedence.
@ -884,7 +886,7 @@
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/system.reg</filename></term> <varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/system.reg</filename></term>
<listitem> <listitem>
<para> <para>
This file contains the user's local copy of This file contains the user's local copy of
the HKEY_LOCAL_MACHINE registry hive. In general the HKEY_LOCAL_MACHINE registry hive. In general
use, it will contain only changes made to the use, it will contain only changes made to the
default registry values. default registry values.
@ -895,7 +897,7 @@
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/user.reg</filename></term> <varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/user.reg</filename></term>
<listitem> <listitem>
<para> <para>
This file contains the user's local copy of This file contains the user's local copy of
the HKEY_CURRENT_USER registry hive. In the HKEY_CURRENT_USER registry hive. In
general use, it will contain only changes made to the general use, it will contain only changes made to the
default registry values. default registry values.
@ -906,7 +908,7 @@
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/userdef.reg</filename></term> <varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/userdef.reg</filename></term>
<listitem> <listitem>
<para> <para>
This file contains the user's local copy of This file contains the user's local copy of
the HKEY_USERS\.Default registry hive. In the HKEY_USERS\.Default registry hive. In
general use, it will contain only changes made to the general use, it will contain only changes made to the
default registry values. default registry values.
@ -1007,7 +1009,7 @@
to the end user, so that they can intelligently to the end user, so that they can intelligently
choose their configuration. choose their configuration.
</para> </para>
<orderedlist> <orderedlist>
@ -1039,10 +1041,10 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Windows Dynamic Link Libraries ([WINDOWSDIR]/system32/*.dll) Windows Dynamic Link Libraries ([WINDOWSDIR]/system32/*.dll)
</para> </para>
<para> <para>
Wine has the ability to use the actual Windows DLL files Wine has the ability to use the actual Windows DLL files
when running an application. An end user can configure when running an application. An end user can configure
Wine so that Wine uses some or all of these DLL files Wine so that Wine uses some or all of these DLL files
@ -1060,7 +1062,7 @@
<para> <para>
There has recently been a lot of discussion on the Wine There has recently been a lot of discussion on the Wine
development mailing list about the best way to development mailing list about the best way to
build Wine packages. build Wine packages.
</para> </para>
<para> <para>
@ -1082,7 +1084,7 @@
</para> </para>
<para> <para>
At this point, there is no consensus At this point, there is no consensus
amongst the wine-devel community on this subject. amongst the wine-devel community on this subject.
</para> </para>
</sect1> </sect1>
@ -1096,7 +1098,7 @@
then : then :
</para> </para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para> <para>
all <link linkend=binfiles>binary files</link> go into all <link linkend=binfiles>binary files</link> go into
@ -1155,7 +1157,7 @@
check again tomorrow). check again tomorrow).
</para> </para>
</sect2> </sect2>
</sect1> </sect1>
<sect1 id="pkg-whattomake"><title>What files to create</title> <sect1 id="pkg-whattomake"><title>What files to create</title>
@ -1186,7 +1188,7 @@
<para> <para>
This approach has the benefit of simplicity in that all This approach has the benefit of simplicity in that all
Wine files are either stored under /opt/wine or under Wine files are either stored under /opt/wine or under
~/.wine. Further, there is only ever one Wine ~/.wine. Further, there is only ever one Wine
configuration file. configuration file.
</para> </para>
<para> <para>
@ -1225,7 +1227,7 @@
<para> <para>
A flaw with this approach, however, is it doesn't A flaw with this approach, however, is it doesn't
give the user an obvious way to choose not to give the user an obvious way to choose not to
use a Windows partition. use a Windows partition.
</para> </para>
</listitem> </listitem>
@ -1626,7 +1628,7 @@ Serial=87654321
Device=/dev/fd0 Device=/dev/fd0
Filesystem=win95 Filesystem=win95
; ;
; Comment in ONLY if you have a second floppy or the automounter hangs ; Comment in ONLY if you have a second floppy or the automounter hangs
; for 5 minutes. ; for 5 minutes.
; ;
@ -1640,12 +1642,12 @@ Filesystem=win95
; ;
; Drive 'C' links to the user's homedirectory. ; Drive 'C' links to the user's homedirectory.
; ;
; This must point to a writeable directory structure (not your readonly ; This must point to a writeable directory structure (not your readonly
; mounted DOS partitions!) since programs want to dump stuff into ; mounted DOS partitions!) since programs want to dump stuff into
; "Program Files/" "Programme/", "windows/", "windows/system/" etc. ; "Program Files/" "Programme/", "windows/", "windows/system/" etc.
; ;
; The basic structure is set up using the config script. ; The basic structure is set up using the config script.
; ;
[Drive C] [Drive C]
@ -1656,7 +1658,7 @@ Filesystem=win95
; ;
; /tmp/ directory ; /tmp/ directory
; ;
; The temp drive (and directory) points to /tmp/. Windows programs fill it ; The temp drive (and directory) points to /tmp/. Windows programs fill it
; with junk, so it is approbiate. ; with junk, so it is approbiate.
; ;
@ -1668,9 +1670,9 @@ Filesystem=win95
; ;
; 'U'ser homedirectory ; 'U'ser homedirectory
; ;
; Just in case you want C:\ elsewhere. ; Just in case you want C:\ elsewhere.
; ;
[Drive U] [Drive U]
Path=${HOME} Path=${HOME}
Type=hd Type=hd
@ -1679,14 +1681,14 @@ Filesystem=win95
; ;
; CD-'R'OM drive (automounted) ; CD-'R'OM drive (automounted)
; ;
; The default cdrom drive. ; The default cdrom drive.
; ;
; If an application (or game) wants a specific CD-ROM you might have to ; If an application (or game) wants a specific CD-ROM you might have to
; temporary change the Label to the one of the CD itself. ; temporary change the Label to the one of the CD itself.
; ;
; How to read them is described in /usr/doc/wine-cvs-xxxxx/cdrom-labels. ; How to read them is described in /usr/doc/wine-cvs-xxxxx/cdrom-labels.
; ;
[Drive R] [Drive R]
Path=/auto/cdrom Path=/auto/cdrom
Type=cdrom Type=cdrom
@ -1694,9 +1696,9 @@ Label=CD-Rom
Filesystem=win95 Filesystem=win95
; ;
; The drive where the old windows installation resides (it points to the ; The drive where the old windows installation resides (it points to the
; windows/ subdirectory). ; windows/ subdirectory).
; ;
; The Path is modified by the winesetup script. ; The Path is modified by the winesetup script.
; ;
[Drive W] [Drive W]
@ -1707,7 +1709,7 @@ Filesystem=win95
; ;
; The UNIX Root directory, so all other programs and directories are reachable. ; The UNIX Root directory, so all other programs and directories are reachable.
; ;
; type network is used to tell programs to not write here. ; type network is used to tell programs to not write here.
; ;
[Drive Z] [Drive Z]
Path=/ Path=/
@ -1719,7 +1721,7 @@ Filesystem=win95
; Standard Windows path entries. WINE will not work if they are incorrect. ; Standard Windows path entries. WINE will not work if they are incorrect.
; ;
[wine] [wine]
; ;
; The windows/ directory. It must be writeable, for programs write into it. ; The windows/ directory. It must be writeable, for programs write into it.
; ;
Windows=c:\windows Windows=c:\windows
@ -1749,7 +1751,7 @@ SymbolTableFile=./wine.sym
# &lt;wineconf&gt; # &lt;wineconf&gt;
; ;
; Dll loadorder defaults. No need to modify. ; Dll loadorder defaults. No need to modify.
; ;
[DllDefaults] [DllDefaults]
@ -1774,7 +1776,7 @@ winsock = wsock32
; ;
; What type of dll to use in their respective loadorder. ; What type of dll to use in their respective loadorder.
; ;
[DllOverrides] [DllOverrides]
kernel32, gdi32, user32 = builtin kernel32, gdi32, user32 = builtin
kernel, gdi, user = builtin kernel, gdi, user = builtin
@ -1807,7 +1809,7 @@ AllocSystemColors=100
;; ;;
; Font specification. You usually do not need to edit this section. ; Font specification. You usually do not need to edit this section.
; ;
; Read documentation/fonts before adding aliases ; Read documentation/fonts before adding aliases
; ;
[fonts] [fonts]
@ -1820,7 +1822,7 @@ Default = -adobe-times-
; ;
; serial ports used by "COM1" "COM2" "COM3" "COM4". Useful for applications ; serial ports used by "COM1" "COM2" "COM3" "COM4". Useful for applications
; that try to access serial ports. ; that try to access serial ports.
; ;
[serialports] [serialports]
Com1=/dev/ttyS0 Com1=/dev/ttyS0
Com2=/dev/ttyS1 Com2=/dev/ttyS1
@ -1828,7 +1830,7 @@ Com3=/dev/modem,38400
Com4=/dev/modem Com4=/dev/modem
; ;
; parallel port(s) used by "LPT1" etc. Useful for applications that try to ; parallel port(s) used by "LPT1" etc. Useful for applications that try to
; access these ports. ; access these ports.
; ;
[parallelports] [parallelports]
@ -1843,7 +1845,7 @@ LPT1:=|lpr
LPT2:=|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q - LPT2:=|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -
LPT3:=/dev/lp3 LPT3:=/dev/lp3
; ;
; Allow port access to WINE started by the root user. Useful for some ; Allow port access to WINE started by the root user. Useful for some
; supported devices, but it can make the system unstable. ; supported devices, but it can make the system unstable.
; Read /usr/doc/wine-cvs-xxxxx/ioport-trace-hints. ; Read /usr/doc/wine-cvs-xxxxx/ioport-trace-hints.
@ -1914,7 +1916,7 @@ Startup=
wineconf/wineinstall. wineconf/wineinstall.
</para> </para>
<para> <para>
Currently, winesetup duplicates all of the code contained Currently, winesetup duplicates all of the code contained
in wineconf. in wineconf.
</para> </para>
<para> <para>

View File

@ -59,8 +59,7 @@
printer=on printer=on
</screen> </screen>
<para> <para>
to the [wine] section of <filename>wine.conf</filename> (or to the [wine] section of the wine config file. This lets
<filename>~/.wine/config</filename>). This lets
<function>CreateDC</function> proceed if its driver argument is a 16 <function>CreateDC</function> proceed if its driver argument is a 16
bit driver. You will probably also need to add bit driver. You will probably also need to add
</para> </para>
@ -77,7 +76,7 @@ printer=on
<title>Spooling</title> <title>Spooling</title>
<para> <para>
Spooling is rather primitive. The [spooler] section of Spooling is rather primitive. The [spooler] section of
<filename>wine.conf</filename> maps a port (e.g. the wine config file maps a port (e.g.
<systemitem>LPT1:</systemitem>) to a file or a command via a pipe. For <systemitem>LPT1:</systemitem>) to a file or a command via a pipe. For
example the following lines example the following lines
</para> </para>
@ -95,7 +94,7 @@ printer=on
<para> <para>
There are now also virtual spool queues called There are now also virtual spool queues called
<systemitem>LPR:printername</systemitem>, which send the data <systemitem>LPR:printername</systemitem>, which send the data
to <command>lpr -Pprintername</command>. You do not need to to <command>lpr -Pprintername</command>. You do not need to
specify those in the config file, they are handled automatically by specify those in the config file, they are handled automatically by
<filename>dlls/gdi/printdrv.c</filename>. <filename>dlls/gdi/printdrv.c</filename>.
</para> </para>
@ -133,7 +132,7 @@ printer=on
<title>Installation of LPR /etc/printcap based printers</title> <title>Installation of LPR /etc/printcap based printers</title>
<para> <para>
If your system is not yet using CUPS, it probably uses LPRng If your system is not yet using CUPS, it probably uses LPRng
or a LPR based system with configuration based on /etc/printcap. or a LPR based system with configuration based on <filename>/etc/printcap</filename>.
</para> </para>
<para> <para>
If it does, your printers in <filename>/etc/printcap</filename> If it does, your printers in <filename>/etc/printcap</filename>
@ -141,7 +140,7 @@ printer=on
printers and also configured mostly automatic. printers and also configured mostly automatic.
</para> </para>
<para> <para>
Since WINE cannot find out what type of printer this is, you Since WINE cannot find out what type of printer this is, you
need to specify a PPD file in the [ppd] section of need to specify a PPD file in the [ppd] section of
<filename>~/.wine/config</filename>. Either use the shortcut <filename>~/.wine/config</filename>. Either use the shortcut
name and make the entry look like: name and make the entry look like:
@ -238,7 +237,7 @@ printer=on
</para> </para>
<para> <para>
Note that you need not set <literal>printer=on</literal> in Note that you need not set <literal>printer=on</literal> in
the [wine] section of <filename>wine.conf</filename>, this the [wine] section of the wine config file, this
enables printing via external printer drivers and does not enables printing via external printer drivers and does not
affect the builtin PostScript driver. affect the builtin PostScript driver.
</para> </para>

View File

@ -20,7 +20,7 @@
<sect2> <sect2>
<title>Registry structure</title> <title>Registry structure</title>
<para> <para>
The Windows registry is an elaborate tree structure, and not The Windows registry is an elaborate tree structure, and not
even most Windows programmers are fully aware of how the even most Windows programmers are fully aware of how the
@ -36,23 +36,23 @@
<term>HKEY_LOCAL_MACHINE</term> <term>HKEY_LOCAL_MACHINE</term>
<listitem> <listitem>
<para> <para>
This fundamental root key (in win9x, stored in the This fundamental root key (in win9x it's stored in the
hidden file <filename>system.dat</filename>) contains hidden file <filename>system.dat</filename>) contains
everything pertaining to the current Windows everything pertaining to the current Windows
installation. installation.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>HKEY_USERS</term> <term>HKEY_USERS</term>
<listitem> <listitem>
<para> <para>
This fundamental root key (in win9x, stored in the This fundamental root key (in win9x it's stored in the
hidden file <filename>user.dat</filename>) contains hidden file <filename>user.dat</filename>) contains
configuration data for every user of the installation. configuration data for every user of the installation.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>HKEY_CLASSES_ROOT</term> <term>HKEY_CLASSES_ROOT</term>
<listitem> <listitem>
@ -62,7 +62,7 @@
associations, OLE document handlers, and COM classes. associations, OLE document handlers, and COM classes.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>HKEY_CURRENT_USER</term> <term>HKEY_CURRENT_USER</term>
<listitem> <listitem>
@ -77,7 +77,7 @@
<sect2> <sect2>
<title>Using a Windows registry</title> <title>Using a Windows registry</title>
<para> <para>
If you point Wine at an existing MS Windows installation (by If you point Wine at an existing MS Windows installation (by
setting the appropriate directories in setting the appropriate directories in
@ -102,7 +102,7 @@
<sect2> <sect2>
<title>Wine registry data files</title> <title>Wine registry data files</title>
<para> <para>
In the user's home directory, there is a subdirectory named In the user's home directory, there is a subdirectory named
<filename>.wine</filename>, where Wine will try to save its <filename>.wine</filename>, where Wine will try to save its
@ -117,7 +117,7 @@
This file contains HKEY_LOCAL_MACHINE. This file contains HKEY_LOCAL_MACHINE.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>user.reg</filename></term> <term><filename>user.reg</filename></term>
<listitem> <listitem>
@ -125,7 +125,7 @@
This file contains HKEY_CURRENT_USER. This file contains HKEY_CURRENT_USER.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>userdef.reg</filename></term> <term><filename>userdef.reg</filename></term>
<listitem> <listitem>
@ -134,7 +134,7 @@
user settings). user settings).
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><filename>wine.userreg</filename></term> <term><filename>wine.userreg</filename></term>
<listitem> <listitem>
@ -149,9 +149,12 @@
<para> <para>
All of these files are human-readable text files, so unlike All of these files are human-readable text files, so unlike
Windows, you can actually use an ordinary text editor on them Windows, you can actually use an ordinary text editor on them
if you must. if you want (make sure you don't have Wine running when modifying
them, otherwise your changes will be discarded).
</para> </para>
<para> <para>
FIXME: global config currently not implemented.
In addition to these files, Wine can also optionally load from In addition to these files, Wine can also optionally load from
global registry files residing in the same directory as the global registry files residing in the same directory as the
global <filename>wine.conf</filename> (i.e. global <filename>wine.conf</filename> (i.e.
@ -177,7 +180,7 @@
<sect2> <sect2>
<title>System administration</title> <title>System administration</title>
<para> <para>
With the above file structure, it is possible for a system With the above file structure, it is possible for a system
administrator to configure the system so that a system Wine administrator to configure the system so that a system Wine
@ -247,8 +250,8 @@ ln -sf /usr/local/etc/wine.userreg wine.userreg
<title>The [registry] section</title> <title>The [registry] section</title>
<para> <para>
With the above information fresh in mind, let's look at the With the above information fresh in mind, let's look at the
<filename>wine.conf</filename>/<filename>~/.wine/config</filename> <filename>wine.conf</filename> / <filename>~/.wine/config</filename>
options for handling the registry. options for handling the registry.
</para> </para>
@ -295,12 +298,17 @@ ln -sf /usr/local/etc/wine.userreg wine.userreg
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>UseNewFormat</term> <term>SaveOnlyUpdatedKeys</term>
<listitem> <listitem>
<para> <para>
This option is obsolete. Wine now always uses the new Controls whether the entire registry is saved to the
format; support for the old format was removed a while user's registry files, or only subkeys the user have
ago. actually changed. Considering that the user's registry
will override any global registry files and Windows
registry files, it usually makes sense to only save
user-modified subkeys; that way, changes to the rest of
the global or Windows registries will still affect the
user.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -316,17 +324,12 @@ ln -sf /usr/local/etc/wine.userreg wine.userreg
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>SaveOnlyUpdatedKeys</term> <term>UseNewFormat</term>
<listitem> <listitem>
<para> <para>
Controls whether the entire registry is saved to the This option is obsolete. Wine now always uses the new
user's registry files, or only subkeys the user have format; support for the old format was removed a while
actually changed. Considering that the user's registry ago.
will override any global registry files and Windows
registry files, it usually makes sense to only save
user-modified subkeys; that way, changes to the rest of
the global or Windows registries will still affect the
user.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -53,7 +53,7 @@ Options:
</para> </para>
<screen> <screen>
[wine] [wine]
"Path"="c:\windows;c:\windows\system;e:\;e:\test;f:\" "Path"="c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\"
</screen> </screen>
<para> <para>
You could run the file You could run the file
@ -67,18 +67,20 @@ Options:
<filename>c:\myapps\foo.exe</filename> with this command: <filename>c:\myapps\foo.exe</filename> with this command:
</para> </para>
<screen> <screen>
<prompt>$</prompt> <userinput>wine c:\myapps\foo.exe</userinput> <prompt>$</prompt> <userinput>wine c:\\myapps\\foo.exe</userinput>
</screen> </screen>
<para>
(note the backslash-escaped "\" !)
</para>
<para> <para>
If you want to run a console program (aka a CUI executable), use If you want to run a console program (aka a CUI executable), use
<command>wineconsole</command> instead of <command>wine</command> <command>wineconsole</command> instead of <command>wine</command>
to start it. It will display the program in a separate Window to start it. It will display the program in a separate Window
(this requires X11 to be run). If you don't, you'll still be able (this requires X11 to be run). If you don't, you'll still be able
to run able your program, in the Unix console were you're started to run your program directly in the Unix console where you started it,
your program, but with very limited capacities (so, your program but with very limited capacities (so your program might work,
might work, but your mileage may vary). This shall be improved but your mileage may vary). This shall be improved in the future.
in the future.
</para> </para>
</sect1> </sect1>
@ -89,7 +91,7 @@ Options:
<title>--debugmsg [channels]</title> <title>--debugmsg [channels]</title>
<para> <para>
Wine isn't perfect, and many Windows applications still Wine isn't perfect, and many Windows applications still
don't run without bugs under Wine (but then, many of them don't run without bugs under Wine (but then, a lot of programs
don't run without bugs under native Windows either!). To don't run without bugs under native Windows either!). To
make it easier for people to track down the causes behind make it easier for people to track down the causes behind
each bug, Wine provides a number of <firstterm>debug each bug, Wine provides a number of <firstterm>debug
@ -155,7 +157,7 @@ Options:
</screen> </screen>
<para> <para>
Here is a master list of all the debug channels and classes Here is a master list of all the debug channels and classes
in Wine. More channels might be added to (or subtracted in Wine. More channels will be added to (or subtracted
from) later versions. from) later versions.
</para> </para>
@ -245,21 +247,27 @@ winspool</><entry>wnet</><entry>x11</>
<sect2> <sect2>
<title>--dll</title> <title>--dll</title>
<para> <para>
Specifies whether to load the builtin or the native (if
available) version of a DLL.
Example:
<screen>
<prompt>$</prompt> <userinput>wine --dll setupx=n foo.exe</userinput>
</screen>
See the <link linkend="dlls">DLL chapter</link> for more details.
</para> </para>
</sect2> </sect2>
<sect2> <sect2>
<title>--help</title> <title>--help</title>
<para> <para>
Shows a small command line help page.
</para> </para>
</sect2> </sect2>
<sect2> <sect2>
<title>--version</title> <title>--version</title>
<para> <para>
Shows the Wine version string. Useful to verify your installation.
</para> </para>
</sect2> </sect2>
</sect1> </sect1>

View File

@ -4,39 +4,39 @@
<sect1 id="anon"> <sect1 id="anon">
<title id="anon.title">Anonymous unions/structs</title> <title id="anon.title">Anonymous unions/structs</title>
<para> <para>
Anonymous structs and unions support depends heavily on the compiler. Anonymous structs and unions support depends heavily on the compiler.
The best support is provided by gcc/g++ 2.96 and later. But these The best support is provided by gcc/g++ 2.96 and later. But these
versions of gcc come from the development branch so you may want to versions of gcc come from the development branch so you may want to
hold off before using them in production. g++ 2.95 supports anonymous hold off before using them in production. g++ 2.95 supports anonymous
unions but not anonymous structs and gcc 2.95 supports neither. Older unions but not anonymous structs and gcc 2.95 supports neither. Older
versions of gcc/g++ have no support for either. versions of gcc/g++ have no support for either.
since it is anonymous unions that are the most frequent in the since it is anonymous unions that are the most frequent in the
windows headers, you should at least try to use gcc/g++ 2.95. windows headers, you should at least try to use gcc/g++ 2.95.
</para> </para>
<para> <para>
But you are stuck with a compiler that does not support anonymous But you are stuck with a compiler that does not support anonymous
structs/unions all is not lost. The Wine headers should detect this structs/unions all is not lost. The Wine headers should detect this
automatically and define <varname>NONAMELESSUNION</varname> / automatically and define <varname>NONAMELESSUNION</varname> /
<varname>NONAMELESSSTRUCT</varname>. Then any anonymous union will <varname>NONAMELESSSTRUCT</varname>. Then any anonymous union will
be given a name be given a name
<literal>u</literal> or <literal>u2</literal>, <literal>u3</literal>, <literal>u</literal> or <literal>u2</literal>, <literal>u3</literal>,
etc. to avoid name clashes. You will then have to modify your code to etc. to avoid name clashes. You will then have to modify your code to
include those names where appropriate. include those names where appropriate.
</para> </para>
<para> <para>
The name that Wine adds to anonymous unions should match that used The name that Wine adds to anonymous unions should match that used
by the Windows headers. So all you have to do to compile your by the Windows headers. So all you have to do to compile your
modified code in Windows is to explicitly define the modified code in Windows is to explicitly define the
<varname>NONAMELESSUNION</varname> macro. Note that it would be wise <varname>NONAMELESSUNION</varname> macro. Note that it would be wise
to also explicitly define this macro on in your Unix makefile to also explicitly define this macro on in your Unix makefile
(<filename>Makefile.in</filename>) to make sure your code will (<filename>Makefile.in</filename>) to make sure your code will
compile even if the compiler does support anonymous unions. compile even if the compiler does support anonymous unions.
</para> </para>
<para> <para>
Things are not as nice when dealing with anonymous structs. Things are not as nice when dealing with anonymous structs.
Unfortunately the Windows headers make no provisions for compilers Unfortunately the Windows headers make no provisions for compilers
that do not support anonymous structs. So you will need to be more that do not support anonymous structs. So you will need to be more
subtle when modifying your code if you still want it to compile in subtle when modifying your code if you still want it to compile in
Windows. Here's a way to do it: Windows. Here's a way to do it:
</para> </para>
<programlisting> <programlisting>
@ -55,10 +55,10 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
} }
</programlisting> </programlisting>
<para> <para>
You may put the <literal>#define</literal> directive directly in the You may put the <literal>#define</literal> directive directly in the
source if only few files are impacted. Otherwise it's probably best source if only few files are impacted. Otherwise it's probably best
to put it in one of your project's widely used headers. to put it in one of your project's widely used headers.
Fortunately usage of an anonymous struct is much rarer than usage of Fortunately usage of an anonymous struct is much rarer than usage of
an anonymous union so these modifications should not be too much work. an anonymous union so these modifications should not be too much work.
</para> </para>
</sect1> </sect1>
@ -286,34 +286,34 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
<sect1 id="init-problems"> <sect1 id="init-problems">
<title id="init-problems.title">Initialization problems</title> <title id="init-problems.title">Initialization problems</title>
<para> <para>
Initialization problems occur when the application calls the Win32 API Initialization problems occur when the application calls the Win32 API
before Winelib has been initialized. How can this happen? before Winelib has been initialized. How can this happen?
</para> </para>
<para> <para>
Winelib is initialized by the application's <function>main</function> Winelib is initialized by the application's <function>main</function>
before it calls the regular <function>WinMain</function>. But, in C++, before it calls the regular <function>WinMain</function>. But, in C++,
the constructors of static class variables are called before the the constructors of static class variables are called before the
<function>main</function> (by the module's initializer). So if such <function>main</function> (by the module's initializer). So if such
a constructor makes calls to the Win32 API, Winelib will not be a constructor makes calls to the Win32 API, Winelib will not be
initialized at the time of the call and you may get a crash. This initialized at the time of the call and you may get a crash. This
problem is much more frequent in C++ because of these class problem is much more frequent in C++ because of these class
constructors but could also, at least in theory, happen in C if you constructors but could also, at least in theory, happen in C if you
were to specify an initializer making calls to Winelib. But of were to specify an initializer making calls to Winelib. But of
course, now that you are aware of this problem you won't do it :-). course, now that you are aware of this problem you won't do it :-).
</para> </para>
<para> <para>
Further compounding the problem is the fact that Linux's (GNU's?) Further compounding the problem is the fact that Linux's (GNU's?)
current dynamic library loader does not call the module current dynamic library loader does not call the module
initializers in their dependency order. So even if Winelib were to initializers in their dependency order. So even if Winelib were to
have its own initializer there would be no garantee that it would be have its own initializer there would be no garantee that it would be
called before the initializer of the library containing this static called before the initializer of the library containing this static
variable. Finally even if the variable is in a library that your variable. Finally even if the variable is in a library that your
application links with, that library's initializer may be called application links with, that library's initializer may be called
before Winelib has been initialized. One such library is the MFC. before Winelib has been initialized. One such library is the MFC.
</para> </para>
<para> <para>
The current workaround is to move all the application's code in a The current workaround is to move all the application's code in a
library and to use a small Winelib application to dynamically load library and to use a small Winelib application to dynamically load
this library. Tus the initialization sequence becomes: this library. Tus the initialization sequence becomes:
</para> </para>
<itemizedlist> <itemizedlist>
@ -329,34 +329,34 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
its <function>main</function> is run. Its first task is to its <function>main</function> is run. Its first task is to
initialize Winelib. initialize Winelib.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
it then loads the application's main library, plus all its it then loads the application's main library, plus all its
dependent libraries. dependent libraries.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
which triggers the execution of all these libraries initializers which triggers the execution of all these libraries initializers
in some unknown order. But all is fine because Winelib has in some unknown order. But all is fine because Winelib has
already been initialized anyway. already been initialized anyway.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
finally the main function calls the <function>WinMain</function> finally the main function calls the <function>WinMain</function>
of the application's library. of the application's library.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para> <para>
This may sound complex by Winemaker makes it simple. Just specify This may sound complex but Winemaker makes it simple. Just specify
<option>--wrap</option> or <option>--mfc</option> on the command line <option>--wrap</option> or <option>--mfc</option> on the command line
and it will adapt its makefiles to build the wrapper and the and it will adapt its makefiles to build the wrapper and the
application library. application library.
</para> </para>
</sect1> </sect1>
@ -364,7 +364,7 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
<sect1 id="com-support"> <sect1 id="com-support">
<title id="com-support.title">VC's native COM support</title> <title id="com-support.title">VC's native COM support</title>
<para> <para>
don't use it, don't use it,
guide on how to replace it with normal C++ code (yes, how???): guide on how to replace it with normal C++ code (yes, how???):
extracting a .h and .lib from a COM dll extracting a .h and .lib from a COM dll
Can '-fno-rtti' be of some use or even required? Can '-fno-rtti' be of some use or even required?
@ -382,7 +382,7 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
<sect1 id="others"> <sect1 id="others">
<title id="others.title">Others</title> <title id="others.title">Others</title>
<para> <para>
-fpermissive and -fno-for-scope, -fpermissive and -fno-for-scope,
maybe other options maybe other options
</para> </para>
</sect1> </sect1>