- 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:
parent
e1ae23e094
commit
5ec74d6f72
|
@ -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 email-jonathan-buzzard "jab@hex.prestel.co.uk">
|
||||
|
||||
|
@ -112,5 +115,3 @@
|
|||
|
||||
<!entity name-koen-deforche "Koen Deforche">
|
||||
<!entity email-koen-deforche "jozef@kotnet.org">
|
||||
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
way -- advanced developers will probably prefer this.
|
||||
</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
|
||||
<ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
|
||||
</para>
|
||||
|
@ -56,7 +56,7 @@
|
|||
<para>
|
||||
Post the bug to
|
||||
<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.
|
||||
Include your own detailed description of the problem with
|
||||
relevant information. Attach the "Nice Formatted Report"
|
||||
|
@ -157,7 +157,7 @@
|
|||
<term>all shells:</term>
|
||||
<listitem>
|
||||
<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
|
||||
</screen>
|
||||
<para>
|
||||
|
@ -166,7 +166,7 @@
|
|||
prints out so many debug msgs that they flood the terminal, eating CPU.)
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>tcsh and other csh-like shells:</term>
|
||||
<listitem>
|
||||
|
@ -184,7 +184,7 @@
|
|||
<prompt>$ </prompt>tail -100 filename.out > report_file
|
||||
</screen>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>
|
||||
<filename>report_file</filename> will now contain the
|
||||
|
@ -197,8 +197,8 @@
|
|||
<listitem>
|
||||
<para>
|
||||
Post the bug to <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink>.
|
||||
Please, search the Bugzilla database to check whether your problem
|
||||
is already reported. If it is already reported attach the bug report
|
||||
Please, search the Bugzilla database to check whether your problem
|
||||
is already reported. If it is already reported attach the bug report
|
||||
and add any other relevant information to the original bug report.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -210,17 +210,6 @@
|
|||
</listitem>
|
||||
</orderedlist>
|
||||
</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>
|
||||
</chapter>
|
||||
|
||||
|
|
|
@ -18,17 +18,17 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Drives and Information about them
|
||||
Drives and information about them
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Directory Settings
|
||||
Directory settings
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Port Settings
|
||||
Port settings
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -38,12 +38,12 @@
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Wine's DLL Usage
|
||||
Wine's DLL usage
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Wine's Multimedia drivers and DLL configuration
|
||||
Wine's multimedia drivers and DLL configuration
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -524,10 +524,13 @@ And here is a setup for Drive A, a generic floppy drive:
|
|||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>elfdll</term>
|
||||
<term>builtin</term>
|
||||
<listitem><para>
|
||||
ELF encapsulated windows DLL's. This is currently
|
||||
experimental (Not working yet).
|
||||
The most common form of DLL loading. This is
|
||||
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>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
|
@ -537,13 +540,10 @@ And here is a setup for Drive A, a generic floppy drive:
|
|||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>builtin</term>
|
||||
<term>elfdll</term>
|
||||
<listitem><para>
|
||||
The most common form of DLL loading. This is
|
||||
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.
|
||||
ELF encapsulated windows DLL's.
|
||||
No longer used, ignored.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
@ -570,14 +570,14 @@ And here is a setup for Drive A, a generic floppy drive:
|
|||
<sect3>
|
||||
<title>The [DllPairs] Section</title>
|
||||
<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
|
||||
because the pairing information has now been embedded into
|
||||
Wine itself. (The purpose of this section was merely to be
|
||||
able to issue warnings if the user attempted to pair
|
||||
codependent 16-bit/32-bit DLLs of different types.) If you
|
||||
still have this in your <filename>wine.conf</filename> or
|
||||
<filename>~/.wine/config</filename>, you may safely delete it.
|
||||
still have this in your <filename>~/.wine/.config</filename> or
|
||||
<filename>wine.conf</filename>, you may safely delete it.
|
||||
</para>
|
||||
</sect3>
|
||||
|
||||
|
@ -614,18 +614,22 @@ And here is a setup for Drive A, a generic floppy drive:
|
|||
that was included with your wine package):
|
||||
<programlisting>
|
||||
[DllOverrides]
|
||||
"rpcrt4" = "builtin, native"
|
||||
"oleaut32" = "builtin, native"
|
||||
"ole32" = "builtin, native"
|
||||
"commdlg" = "builtin, native"
|
||||
"comdlg32" = "builtin, native"
|
||||
"ver" = "builtin, native"
|
||||
"version" = "builtin, native"
|
||||
"shell" = "builtin, native"
|
||||
"shell32" = "builtin, native"
|
||||
"shfolder" = "builtin, native"
|
||||
"shlwapi" = "builtin, native"
|
||||
"shdocvw" = "builtin, native"
|
||||
"lzexpand" = "builtin, native"
|
||||
"lz32" = "builtin, native"
|
||||
"comctl32" = "builtin, native"
|
||||
"commctrl" = "builtin, native"
|
||||
"wsock32" = "builtin"
|
||||
"winsock" = "builtin"
|
||||
"advapi32" = "builtin, native"
|
||||
"crtdll" = "builtin, native"
|
||||
"mpr" = "builtin, native"
|
||||
|
@ -633,8 +637,7 @@ And here is a setup for Drive A, a generic floppy drive:
|
|||
"ddraw" = "builtin, native"
|
||||
"dinput" = "builtin, native"
|
||||
"dsound" = "builtin, native"
|
||||
"mmsystem" = "builtin"
|
||||
"winmm" = "builtin"
|
||||
"opengl32" = "builtin, native"
|
||||
"msvcrt" = "native, builtin"
|
||||
"msvideo" = "builtin, native"
|
||||
"msvfw32" = "builtin, native"
|
||||
|
@ -647,16 +650,16 @@ And here is a setup for Drive A, a generic floppy drive:
|
|||
"msacm" = "builtin, native"
|
||||
"msacm32" = "builtin, native"
|
||||
"midimap.drv" = "builtin, native"
|
||||
"wnaspi32" = "builtin"
|
||||
"icmp" = "builtin"
|
||||
; you can specify applications too
|
||||
"notepad.exe" = "native, builtin"
|
||||
; default for all other dlls
|
||||
"*" = "native, builtin"
|
||||
</programlisting>
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
You see that elfdll or so is the first option for a few
|
||||
of these dll's. This will fail for you, but you won't
|
||||
notice it as wine will just use the second or third
|
||||
option.
|
||||
If loading of the libraries that are listed first fails,
|
||||
wine will just go on by using the second or third option.
|
||||
</para>
|
||||
</note>
|
||||
</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.
|
||||
</para>
|
||||
<para>
|
||||
OPTIONAL:
|
||||
OPTIONAL:
|
||||
</para>
|
||||
<para>
|
||||
The <literal>Alias</literal> setting allows you to map an X font to a font
|
||||
|
@ -708,10 +711,10 @@ OPTIONAL:
|
|||
</para>
|
||||
<para>
|
||||
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
|
||||
comment text (The "<-- blah" stuff)
|
||||
apps as "Google".
|
||||
|
||||
<programlisting>
|
||||
"Alias0" = "Foo,--google-" <
|
||||
"Alias0" = "Foo,--google-"
|
||||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
|
@ -722,7 +725,8 @@ OPTIONAL:
|
|||
</programlisting>
|
||||
</para>
|
||||
<para>
|
||||
For more info check out <filename><dirs to wine>/documentation/fonts</filename>
|
||||
For more info check out the <link linkend="fonts">Fonts</link>
|
||||
chapter.
|
||||
</para>
|
||||
</sect3>
|
||||
|
||||
|
@ -731,7 +735,7 @@ OPTIONAL:
|
|||
<para>
|
||||
Even though it sounds like a lot of sections, these are
|
||||
all closely related. They are all for communications and
|
||||
parallel ports.
|
||||
parallel ports.
|
||||
</para>
|
||||
<para>
|
||||
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
|
||||
setting you use in this section works to map a port (LPT1,
|
||||
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>
|
||||
</para>
|
||||
<para>
|
||||
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>
|
||||
</para>
|
||||
<para>
|
||||
The [ports] section is usually useful only for people who
|
||||
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>
|
||||
<programlisting>"read" = "0x779,0x379,0x280-0x2a0"</programlisting>
|
||||
|
@ -871,18 +875,18 @@ OPTIONAL:
|
|||
|
||||
<para>
|
||||
The content of the section looks like:
|
||||
<programlisting>
|
||||
<programlisting>
|
||||
[WinMM]
|
||||
"Drivers" = "wineoss.drv"
|
||||
"WaveMapper" = "msacm.drv"
|
||||
"MidiMapper" = "midimap.drv"
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
All the keys must be defined:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The "Drivers" key is a ';' separated list of modules name, each of
|
||||
them containing a low level driver. All those drivers will be loaded
|
||||
The "Drivers" key is a ';' separated list of modules name, each of
|
||||
them containing a low level driver. All those drivers will be loaded
|
||||
when MMSYSTEM/WINMM is started and will provide their inner features.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -894,8 +898,8 @@ OPTIONAL:
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The "MidiMapper" represents the name of the module containing the Midi
|
||||
Mapper driver. Only one Midi mapper can be defined in the system.
|
||||
The "MidiMapper" represents the name of the module containing the MIDI
|
||||
Mapper driver. Only one MIDI mapper can be defined in the system.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -905,23 +909,25 @@ OPTIONAL:
|
|||
<sect3>
|
||||
<title>The [AppDefaults] Section</title>
|
||||
<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.
|
||||
[AppDefaults] is not the real name of the section. The real name
|
||||
consists of the leading word AppDefaults followed by the name
|
||||
of the executable the section is valid for. The end of the section
|
||||
name is the name of the section of the configuration file its
|
||||
values should be overwritten with different settings. The three
|
||||
parts of the section name are separated by two backslashes.
|
||||
consists of the leading word AppDefaults followed by the name
|
||||
of the executable the section is valid for.
|
||||
The end of the section name is the name of the
|
||||
corresponding "standard" section of the configuration file
|
||||
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>
|
||||
Currently wine supports only overwriting the sections
|
||||
[DllOverrides] and [x11drv].
|
||||
Currently wine supports only overwriting the sections
|
||||
[DllOverrides], [x11drv], [version] and [dsound].
|
||||
</para>
|
||||
<para>
|
||||
Here is an example that overwrites the normal settings for a
|
||||
program:
|
||||
<programlisting>
|
||||
<programlisting>
|
||||
;; default settings
|
||||
[x11drv]
|
||||
"Managed" = "Y"
|
||||
|
@ -931,7 +937,7 @@ OPTIONAL:
|
|||
[AppDefaults\\install.exe\\x11drv]
|
||||
"Managed" = "N"
|
||||
"Desktop" = "800x600"
|
||||
</programlisting>
|
||||
</programlisting>
|
||||
</para>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
@ -948,21 +954,21 @@ OPTIONAL:
|
|||
A systemwide config file, used for anyone who doesn't
|
||||
have their own. NOTE: this file is currently unused as a
|
||||
new global configuration mechanism is not in place at this
|
||||
time
|
||||
time.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><filename>$HOME/.wine/config</filename></term>
|
||||
<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>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<para>
|
||||
So copy your version of the <filename>wine.conf</filename> file to
|
||||
<filename>/usr/local/etc/wine.conf</filename> or
|
||||
<filename>$HOME/.wine/config</filename> for wine to recognize
|
||||
it.
|
||||
So copy your version of the wine config file to
|
||||
<filename>$HOME/.wine/config</filename>
|
||||
or <filename>/usr/local/etc/wine.conf</filename>
|
||||
for wine to recognize it.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
@ -970,7 +976,7 @@ OPTIONAL:
|
|||
<title>What If It Doesn't Work?</title>
|
||||
<para>
|
||||
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>,
|
||||
try the newsgroup
|
||||
<systemitem>comp.emulators.ms-windows.wine</systemitem>,
|
||||
|
@ -985,8 +991,7 @@ OPTIONAL:
|
|||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<filename>http://www.la-sorciere.de/wine/index.html</filename>
|
||||
(optional but recommended)
|
||||
<filename>http://www.winehq.org/trouble/</filename>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -1060,15 +1065,13 @@ OPTIONAL:
|
|||
that want to draw their own.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Managed</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specified by using the
|
||||
<parameter>--managed</parameter> command-line option
|
||||
or the <literal>Managed</literal>
|
||||
<filename>wine.conf</filename> option (see below).
|
||||
Specified by using the <literal>Managed</literal>
|
||||
wine config file option (see below).
|
||||
Ordinary top-level frame windows with thick borders,
|
||||
title bars, and system menus will be managed by your
|
||||
window manager. This lets these applications integrate
|
||||
|
@ -1084,11 +1087,11 @@ OPTIONAL:
|
|||
<term>Desktop-in-a-Box</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specified by using the
|
||||
<parameter>--desktop</parameter> command-line option
|
||||
(with a geometry, e.g. <parameter>--desktop
|
||||
800x600</parameter> for a such-sized desktop, or
|
||||
even <parameter>--desktop 800x600+0+0</parameter> to
|
||||
Specified by using the <literal>Desktop</literal>
|
||||
wine config file option (see below).
|
||||
(adding a geometry, e.g. <literal>800x600</literal>
|
||||
for a such-sized desktop, or
|
||||
even <literal>800x600+0+0</literal> to
|
||||
automatically position the desktop at the upper-left
|
||||
corner of the display). This is the mode most
|
||||
compatible with the Windows model. All application
|
||||
|
@ -1098,6 +1101,8 @@ OPTIONAL:
|
|||
applications can roam freely within this virtual
|
||||
workspace and think they own it all, without
|
||||
disturbing your other X apps.
|
||||
Note: currently there's on desktop window for every
|
||||
application; this will be fixed in the future.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -1108,68 +1113,6 @@ OPTIONAL:
|
|||
<title>The [x11drv] section</title>
|
||||
|
||||
<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>
|
||||
<term>Managed</term>
|
||||
<listitem>
|
||||
|
@ -1179,7 +1122,30 @@ OPTIONAL:
|
|||
by default.
|
||||
</para>
|
||||
</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>
|
||||
<term>UseDGA</term>
|
||||
<listitem>
|
||||
|
@ -1200,7 +1166,7 @@ OPTIONAL:
|
|||
<filename>/dev/mem</filename>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>UseXShm</term>
|
||||
<listitem>
|
||||
|
@ -1215,20 +1181,7 @@ OPTIONAL:
|
|||
sometimes.
|
||||
</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>DesktopDoubleBuffered</term>
|
||||
<listitem>
|
||||
|
@ -1242,6 +1195,80 @@ OPTIONAL:
|
|||
</para>
|
||||
</listitem>
|
||||
</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>
|
||||
<term>TextCP</term>
|
||||
<listitem>
|
||||
|
@ -1260,17 +1287,8 @@ OPTIONAL:
|
|||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>Synchronous</term>
|
||||
<listitem>
|
||||
<para>
|
||||
<!-- FIXME: To be documented -->
|
||||
To be documented...
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect2>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
®istry;
|
||||
|
@ -1439,16 +1457,16 @@ OPTIONAL:
|
|||
<title>DLL configuration</title>
|
||||
<sect2 id="dll-overrides">
|
||||
<title>DLL Overrides</title>
|
||||
|
||||
|
||||
<para>
|
||||
Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
|
||||
</para>
|
||||
<para>
|
||||
(Extracted from <filename>wine/documentation/dll-overrides</filename>)
|
||||
</para>
|
||||
|
||||
|
||||
<para>
|
||||
The <filename>wine.conf</filename> directives [DllDefaults]
|
||||
The wine config file directives [DllDefaults]
|
||||
and [DllOverrides] are the subject of some confusion. The
|
||||
overall purpose of most of these directives are clear enough,
|
||||
though - given a choice, should Wine use its own built-in
|
||||
|
@ -1456,7 +1474,7 @@ OPTIONAL:
|
|||
in an existing Windows installation? This document explains
|
||||
how this feature works.
|
||||
</para>
|
||||
|
||||
|
||||
<sect3>
|
||||
<title>DLL types</title>
|
||||
<variablelist>
|
||||
|
@ -1476,24 +1494,6 @@ OPTIONAL:
|
|||
that Wine is able to load on demand.
|
||||
</para> </listitem>
|
||||
</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>
|
||||
<term>so</term>
|
||||
<listitem> <para>
|
||||
|
@ -1504,9 +1504,9 @@ OPTIONAL:
|
|||
same API on both Windows and Unix.
|
||||
</para> </listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</variablelist>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3>
|
||||
<title>The [DllDefaults] section</title>
|
||||
<variablelist>
|
||||
|
@ -1520,7 +1520,7 @@ OPTIONAL:
|
|||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3>
|
||||
<title>The [DllPairs] section</title>
|
||||
<para>
|
||||
|
@ -1530,11 +1530,11 @@ OPTIONAL:
|
|||
Wine itself. (The purpose of this section was merely to be
|
||||
able to issue warnings if the user attempted to pair
|
||||
codependent 16-bit/32-bit DLLs of different types.) If you
|
||||
still have this in your <filename>wine.conf</filename> or
|
||||
<filename>~/.wine/config</filename>, you may safely delete it.
|
||||
still have this in your <filename>~/.wine/config</filename> or
|
||||
<filename>wine.conf</filename>, you may safely delete it.
|
||||
</para>
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3>
|
||||
<title>The [DllOverrides] section</title>
|
||||
<para>
|
||||
|
@ -1568,7 +1568,7 @@ OPTIONAL:
|
|||
Graphics Device Interface. No effort has been made at trying to
|
||||
run native GDI. Leave at <literal>builtin</literal>.
|
||||
</para> </listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>user, user32</term>
|
||||
<listitem> <para>
|
||||
|
@ -1612,7 +1612,7 @@ OPTIONAL:
|
|||
<literal>native</literal>. Leave at
|
||||
<literal>builtin</literal>.
|
||||
</para> </listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>display</term>
|
||||
<listitem> <para>
|
||||
|
@ -1662,7 +1662,7 @@ OPTIONAL:
|
|||
most undocumented pieces of Windows, you may have luck with the
|
||||
<literal>native</literal> version, should you need it.
|
||||
</para> </listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>winsock, wsock32</term>
|
||||
<listitem> <para>
|
||||
|
@ -1730,7 +1730,7 @@ OPTIONAL:
|
|||
DirectInput. Running this <literal>native</literal>
|
||||
may or may not work.
|
||||
</para> </listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>dsound</term>
|
||||
<listitem> <para>
|
||||
|
@ -1820,16 +1820,16 @@ OPTIONAL:
|
|||
doesn't exist.
|
||||
</para> </listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</variablelist>
|
||||
</sect3>
|
||||
</sect2>
|
||||
<sect2 id="dll-missing">
|
||||
<title>Missing DLLs</title>
|
||||
|
||||
|
||||
<para>
|
||||
Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
|
||||
</para>
|
||||
|
||||
|
||||
<para>
|
||||
In case Wine complains about a missing DLL, you should check whether
|
||||
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
|
||||
SearchPath() function.
|
||||
This function searches directories in the following order:
|
||||
|
||||
a) The directory the program was started from.
|
||||
b) The current directory.
|
||||
c) The Windows system directory.
|
||||
d) The Windows directory.
|
||||
e) The PATH variable directories.
|
||||
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The directory the program was started from.
|
||||
</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
|
||||
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
|
||||
|
@ -2000,7 +2022,7 @@ static const char main_key_NO[MAIN_LEN][4] =
|
|||
"aA","sS","dD","fF","gG","hH","jJ","kK","lL","øØ","æÆ","'*",
|
||||
"zZ","xX","cC","vV","bB","nN","mM",",;",".:","-_",
|
||||
"<>"
|
||||
};
|
||||
};
|
||||
</programlisting>
|
||||
<para>
|
||||
Except that " and \ needs to be quoted with a backslash, and
|
||||
|
@ -2019,7 +2041,7 @@ static struct {
|
|||
} main_key_tab[]={
|
||||
...
|
||||
...
|
||||
{MAKELANGID(LANG_NORWEGIAN,SUBLANG_DEFAULT), 1252, 865, &main_key_NO},
|
||||
{MAKELANGID(LANG_NORWEGIAN,SUBLANG_DEFAULT), 1252, 865, &main_key_NO},
|
||||
...
|
||||
</programlisting>
|
||||
<para>
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
<listitem>
|
||||
<para>works with console handles</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
|
@ -236,10 +236,10 @@ wine -console ncurses+xterm <application>
|
|||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>II. <filename>wine.conf</filename> Configuration</title>
|
||||
<title>II. wine config file configuration</title>
|
||||
|
||||
<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
|
||||
options that are respected by the assorted console
|
||||
drivers.
|
||||
|
@ -370,7 +370,7 @@ wine -console ncurses+xterm <application>
|
|||
As X terminals typically use a 24x80 screen resolution
|
||||
rather than the typical 25x80 one, it is necessary to
|
||||
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
|
||||
resizing will be disabled.
|
||||
</para>
|
||||
|
|
|
@ -760,7 +760,7 @@ HRSRC16 WINAPI FindResource16( HMODULE16 hModule, SEGPTR name, SEGPTR type )
|
|||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<function>printf</function>:
|
||||
<programlisting>
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
fonts (<filename>VGASYS.FON</filename>,
|
||||
<filename>SSERIFE.FON</filename>, and
|
||||
<filename>SERIFE.FON</filename>) into the format that the X
|
||||
Window System can recognize.
|
||||
Window System can recognize.
|
||||
</para>
|
||||
|
||||
<orderedlist>
|
||||
|
@ -62,7 +62,7 @@
|
|||
copied fonts to. If you are already in X you should run
|
||||
<command>xset fp rehash</command> to make X server aware
|
||||
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>
|
||||
under RedHat 7.1)
|
||||
</para>
|
||||
|
@ -252,7 +252,7 @@ Alias1 = ...
|
|||
<literal>-sony-fixed-</literal> are different fonts Wine
|
||||
modified the second extracted name to make sure Windows
|
||||
programs can distinguish them because only extracted
|
||||
names appear in the font selection dialogs.
|
||||
names appear in the font selection dialogs.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -398,7 +398,7 @@ Resolution = <integer value>
|
|||
|
||||
<orderedlist>
|
||||
<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>
|
||||
<para>Read docs, unpack, configure and install</para>
|
||||
|
@ -485,7 +485,7 @@ FontPath "tcp/localhost:7100"
|
|||
</para>
|
||||
</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>
|
||||
</orderedlist>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
linkend="getting-dist-other">other</link> distributions.
|
||||
</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
|
||||
Wine than already exists as a package, you may have to
|
||||
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.
|
||||
You don't need any programming experience to compile and
|
||||
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
|
||||
linkend="getting-source-ftp">FTP archives</link>, and also how
|
||||
to get the cutting edge up-to-the-minute fresh Wine source
|
||||
|
@ -113,7 +113,7 @@ $ su -
|
|||
|
||||
<para>
|
||||
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
|
||||
page</ulink> contains a list of all rpmfind packages that start with
|
||||
the letter "W", including a few Wine packages
|
||||
|
@ -160,7 +160,7 @@ $ su -
|
|||
<para>
|
||||
The safest way to grab the source is from one of the official
|
||||
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
|
||||
already downloaded it). Here is a (possibly out of date) list
|
||||
of FTP servers carrying Wine:
|
||||
|
@ -168,15 +168,8 @@ $ su -
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/">
|
||||
ftp://metalab.unc.edu/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 url="ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/">
|
||||
ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/
|
||||
</ulink>
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -187,6 +180,13 @@ $ su -
|
|||
</ulink>
|
||||
</para>
|
||||
</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>
|
||||
<para>
|
||||
<ulink url="ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/">
|
||||
|
@ -237,13 +237,13 @@ $ cvs checkout wine
|
|||
the updates:
|
||||
</para>
|
||||
<screen>
|
||||
$ cvs -dP update
|
||||
$ cvs -PAd update
|
||||
</screen>
|
||||
<para>
|
||||
<command>cvs update</command> works from inside the source tree.
|
||||
You don't need the <envar>CVSROOT</envar> environment variable
|
||||
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
|
||||
in sync with the remote repository.
|
||||
</para>
|
||||
|
@ -313,18 +313,18 @@ $ patch -p0 --dry-run < ../patch_to_apply.diff
|
|||
</para>
|
||||
<para>
|
||||
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
|
||||
<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.
|
||||
<filename>wine/programs/clock/main.c </filename>.
|
||||
Setting the <parameter>-p1</parameter> option would strip off the
|
||||
first part of the file name and apply
|
||||
Setting the <parameter>-p1</parameter> option would strip off the
|
||||
first part of the file name and apply
|
||||
the patch instead to <filename>programs/clock/main.c </filename>.
|
||||
The <parameter>-p1</parameter> option would be useful if you named
|
||||
your top level wine directory differently to the person who sent you
|
||||
the patch. For the <parameter>-p1</parameter> option
|
||||
The <parameter>-p1</parameter> option would be useful if you named
|
||||
your top level wine directory differently to the person who sent you
|
||||
the patch. For the <parameter>-p1</parameter> option
|
||||
<command>patch</command> should be run from the top level wine directory.
|
||||
|
||||
</para>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<para>
|
||||
Written by &name-ove-kaaven; <email>&email-ove-kaaven;</email>
|
||||
|
||||
|
||||
</para>
|
||||
|
||||
<sect2>
|
||||
|
@ -72,7 +72,8 @@
|
|||
paths, class IDs, and more; it must be installed before most
|
||||
<filename>INSTALL.EXE</filename> or
|
||||
<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>
|
||||
</sect2>
|
||||
|
||||
|
@ -134,9 +135,9 @@ C:\ Root directory of primary disk drive
|
|||
file existence to determine whether a particular feature
|
||||
(such as Winsock and its TCP/IP networking) is available. If
|
||||
this is a problem for you, you can create empty files in the
|
||||
<filename>system</filename> directory to make the
|
||||
application think it's there, and Wine's built-in DLL will
|
||||
be loaded when the application actually asks for it.
|
||||
configured <filename>c:\windows\system</filename> directory
|
||||
to make the application think it's there, and Wine's built-in DLL
|
||||
will be loaded when the application actually asks for it.
|
||||
(Unfortunately, <filename>tools/wineinstall</filename> does
|
||||
not create such empty files itself.)
|
||||
</para>
|
||||
|
@ -212,7 +213,7 @@ C:\ Root directory of primary disk drive
|
|||
Use <filename>tools/wineinstall</filename> to compile Wine
|
||||
and install the default registry. Or if you prefer to do
|
||||
it yourself, compile <filename>programs/regapi</filename>,
|
||||
and run:
|
||||
and run:
|
||||
</para>
|
||||
<screen>
|
||||
<userinput>programs/regapi/regapi setValue < winedefault.reg</userinput>
|
||||
|
@ -242,10 +243,10 @@ C:\ Root directory of primary disk drive
|
|||
<listitem>
|
||||
<para>
|
||||
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
|
||||
<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
|
||||
the Wine internal versions must be used.
|
||||
</para>
|
||||
|
@ -519,7 +520,7 @@ drwxrwxr-x 41 sle sle 16384 Dec 30 1998 windows</computeroutput>
|
|||
<filename>AnApp</filename> directories while only root has
|
||||
write access to all other directories.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<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).
|
||||
</para>
|
||||
<para>
|
||||
So please make sure that <emphasis>all</emphasis> SCSI devices not needed by the program
|
||||
have their permissions set as restricted as possible !
|
||||
So please make sure that <emphasis>all</emphasis> SCSI devices not needed by the program
|
||||
have their permissions set as restricted as possible !
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
</footnote>
|
||||
However, Wine makes it possible to run native Windows
|
||||
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,
|
||||
and even running them from the same launcher.
|
||||
</para>
|
||||
|
@ -98,6 +98,21 @@
|
|||
<para>
|
||||
</para>
|
||||
</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>
|
||||
|
||||
<!-- *** Not really useful as is, but may be able to recycle this elsewhere...
|
||||
|
@ -142,7 +157,7 @@
|
|||
<listitem>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -155,7 +170,7 @@
|
|||
<listitem>
|
||||
<para>
|
||||
>= 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>
|
||||
</listitem>
|
||||
<listitem>
|
||||
|
@ -163,7 +178,7 @@
|
|||
an X11 window system (XFree86 etc.). Wine is prepared
|
||||
for other graphics display drivers, but writing
|
||||
support is not too easy. The text console display
|
||||
driver is nearly usable.
|
||||
driver (ttydrv) is nearly usable.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
@ -181,7 +196,7 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<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)
|
||||
</para>
|
||||
</listitem>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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. -->
|
||||
|
||||
|
||||
<chapter id="pkg-preface"> <title>Preface</title>
|
||||
|
||||
<sect1 id="pkg-authors"> <title>Authors</title>
|
||||
|
@ -115,7 +115,7 @@
|
|||
<para>
|
||||
It expresses the basic principles that the
|
||||
Wine developers have agreed should be
|
||||
used when building Wine.
|
||||
used when building Wine.
|
||||
It also attempts to highlight the areas
|
||||
where there are different approaches
|
||||
to packaging Wine, so that the packager
|
||||
|
@ -152,11 +152,11 @@
|
|||
|
||||
<listitem>
|
||||
<para>
|
||||
Comply with Filesystem Hierarchy Standard
|
||||
Comply with Filesystem Hierarchy Standard
|
||||
</para>
|
||||
<para>
|
||||
A Wine installation should, as much as possible, comply
|
||||
with the
|
||||
with the
|
||||
<ulink url="http://www.pathname.com/fhs/">FHS standard</ulink>.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -167,7 +167,7 @@
|
|||
</para>
|
||||
<para>
|
||||
None of the flexibility built into Wine should
|
||||
be hidden from the end user.
|
||||
be hidden from the end user.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -766,8 +766,8 @@
|
|||
</para>
|
||||
<para>
|
||||
At the time of this writing, I do not have a
|
||||
definitive list of documentation files to
|
||||
be installed. However, they do include
|
||||
definitive list of documentation files to
|
||||
be installed. However, they do include
|
||||
the HTML files generated from the SGML in the Wine CVS tree.
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -813,6 +813,8 @@
|
|||
This is the global Wine configuration file. It
|
||||
is only used if the user running Wine has
|
||||
no local configuration file.
|
||||
Global wine configuration is currently not possible;
|
||||
this might get reenabled at some time.
|
||||
</para>
|
||||
<para>
|
||||
Some packagers feel that this file should not
|
||||
|
@ -866,7 +868,7 @@
|
|||
.dat files from a Windows partion are loaded,
|
||||
then global registry settings from <link linkend=ETCDIR endterm=etcdir.id></link>,
|
||||
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,
|
||||
they can override the prior entries. Thus,
|
||||
the local registry files take precedence.
|
||||
|
@ -884,7 +886,7 @@
|
|||
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/system.reg</filename></term>
|
||||
<listitem>
|
||||
<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
|
||||
use, it will contain only changes made to the
|
||||
default registry values.
|
||||
|
@ -895,7 +897,7 @@
|
|||
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/user.reg</filename></term>
|
||||
<listitem>
|
||||
<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
|
||||
general use, it will contain only changes made to the
|
||||
default registry values.
|
||||
|
@ -906,7 +908,7 @@
|
|||
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/userdef.reg</filename></term>
|
||||
<listitem>
|
||||
<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
|
||||
general use, it will contain only changes made to the
|
||||
default registry values.
|
||||
|
@ -1007,7 +1009,7 @@
|
|||
to the end user, so that they can intelligently
|
||||
choose their configuration.
|
||||
</para>
|
||||
|
||||
|
||||
|
||||
<orderedlist>
|
||||
|
||||
|
@ -1039,10 +1041,10 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
<para>
|
||||
Windows Dynamic Link Libraries ([WINDOWSDIR]/system32/*.dll)
|
||||
</para>
|
||||
<para>
|
||||
<para>
|
||||
Wine has the ability to use the actual Windows DLL files
|
||||
when running an application. An end user can configure
|
||||
Wine so that Wine uses some or all of these DLL files
|
||||
|
@ -1060,7 +1062,7 @@
|
|||
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -1082,7 +1084,7 @@
|
|||
</para>
|
||||
<para>
|
||||
At this point, there is no consensus
|
||||
amongst the wine-devel community on this subject.
|
||||
amongst the wine-devel community on this subject.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
|
@ -1096,7 +1098,7 @@
|
|||
then :
|
||||
</para>
|
||||
<orderedlist>
|
||||
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
all <link linkend=binfiles>binary files</link> go into
|
||||
|
@ -1155,7 +1157,7 @@
|
|||
check again tomorrow).
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="pkg-whattomake"><title>What files to create</title>
|
||||
|
@ -1186,7 +1188,7 @@
|
|||
<para>
|
||||
This approach has the benefit of simplicity in that all
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
|
@ -1225,7 +1227,7 @@
|
|||
<para>
|
||||
A flaw with this approach, however, is it doesn't
|
||||
give the user an obvious way to choose not to
|
||||
use a Windows partition.
|
||||
use a Windows partition.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
|
@ -1626,7 +1628,7 @@ Serial=87654321
|
|||
Device=/dev/fd0
|
||||
Filesystem=win95
|
||||
|
||||
;
|
||||
;
|
||||
; Comment in ONLY if you have a second floppy or the automounter hangs
|
||||
; 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
|
||||
; mounted DOS partitions!) since programs want to dump stuff into
|
||||
; "Program Files/" "Programme/", "windows/", "windows/system/" etc.
|
||||
;
|
||||
;
|
||||
; The basic structure is set up using the config script.
|
||||
;
|
||||
[Drive C]
|
||||
|
@ -1656,7 +1658,7 @@ Filesystem=win95
|
|||
|
||||
;
|
||||
; /tmp/ directory
|
||||
;
|
||||
;
|
||||
; The temp drive (and directory) points to /tmp/. Windows programs fill it
|
||||
; with junk, so it is approbiate.
|
||||
;
|
||||
|
@ -1668,9 +1670,9 @@ Filesystem=win95
|
|||
|
||||
;
|
||||
; 'U'ser homedirectory
|
||||
;
|
||||
;
|
||||
; Just in case you want C:\ elsewhere.
|
||||
;
|
||||
;
|
||||
[Drive U]
|
||||
Path=${HOME}
|
||||
Type=hd
|
||||
|
@ -1679,14 +1681,14 @@ Filesystem=win95
|
|||
|
||||
;
|
||||
; CD-'R'OM drive (automounted)
|
||||
;
|
||||
;
|
||||
; The default cdrom drive.
|
||||
;
|
||||
; 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.
|
||||
;
|
||||
; How to read them is described in /usr/doc/wine-cvs-xxxxx/cdrom-labels.
|
||||
;
|
||||
;
|
||||
[Drive R]
|
||||
Path=/auto/cdrom
|
||||
Type=cdrom
|
||||
|
@ -1694,9 +1696,9 @@ Label=CD-Rom
|
|||
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).
|
||||
;
|
||||
;
|
||||
; The Path is modified by the winesetup script.
|
||||
;
|
||||
[Drive W]
|
||||
|
@ -1707,7 +1709,7 @@ Filesystem=win95
|
|||
;
|
||||
; 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]
|
||||
Path=/
|
||||
|
@ -1719,7 +1721,7 @@ Filesystem=win95
|
|||
; Standard Windows path entries. WINE will not work if they are incorrect.
|
||||
;
|
||||
[wine]
|
||||
;
|
||||
;
|
||||
; The windows/ directory. It must be writeable, for programs write into it.
|
||||
;
|
||||
Windows=c:\windows
|
||||
|
@ -1749,7 +1751,7 @@ SymbolTableFile=./wine.sym
|
|||
|
||||
# <wineconf>
|
||||
|
||||
;
|
||||
;
|
||||
; Dll loadorder defaults. No need to modify.
|
||||
;
|
||||
[DllDefaults]
|
||||
|
@ -1774,7 +1776,7 @@ winsock = wsock32
|
|||
|
||||
;
|
||||
; What type of dll to use in their respective loadorder.
|
||||
;
|
||||
;
|
||||
[DllOverrides]
|
||||
kernel32, gdi32, user32 = builtin
|
||||
kernel, gdi, user = builtin
|
||||
|
@ -1807,7 +1809,7 @@ AllocSystemColors=100
|
|||
|
||||
;;
|
||||
; Font specification. You usually do not need to edit this section.
|
||||
;
|
||||
;
|
||||
; Read documentation/fonts before adding aliases
|
||||
;
|
||||
[fonts]
|
||||
|
@ -1820,7 +1822,7 @@ Default = -adobe-times-
|
|||
;
|
||||
; serial ports used by "COM1" "COM2" "COM3" "COM4". Useful for applications
|
||||
; that try to access serial ports.
|
||||
;
|
||||
;
|
||||
[serialports]
|
||||
Com1=/dev/ttyS0
|
||||
Com2=/dev/ttyS1
|
||||
|
@ -1828,7 +1830,7 @@ Com3=/dev/modem,38400
|
|||
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.
|
||||
;
|
||||
[parallelports]
|
||||
|
@ -1843,7 +1845,7 @@ LPT1:=|lpr
|
|||
LPT2:=|gs -sDEVICE=bj200 -sOutputFile=/tmp/fred -q -
|
||||
LPT3:=/dev/lp3
|
||||
|
||||
;
|
||||
;
|
||||
; Allow port access to WINE started by the root user. Useful for some
|
||||
; supported devices, but it can make the system unstable.
|
||||
; Read /usr/doc/wine-cvs-xxxxx/ioport-trace-hints.
|
||||
|
@ -1914,7 +1916,7 @@ Startup=
|
|||
wineconf/wineinstall.
|
||||
</para>
|
||||
<para>
|
||||
Currently, winesetup duplicates all of the code contained
|
||||
Currently, winesetup duplicates all of the code contained
|
||||
in wineconf.
|
||||
</para>
|
||||
<para>
|
||||
|
|
|
@ -59,8 +59,7 @@
|
|||
printer=on
|
||||
</screen>
|
||||
<para>
|
||||
to the [wine] section of <filename>wine.conf</filename> (or
|
||||
<filename>~/.wine/config</filename>). This lets
|
||||
to the [wine] section of the wine config file. This lets
|
||||
<function>CreateDC</function> proceed if its driver argument is a 16
|
||||
bit driver. You will probably also need to add
|
||||
</para>
|
||||
|
@ -77,7 +76,7 @@ printer=on
|
|||
<title>Spooling</title>
|
||||
<para>
|
||||
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
|
||||
example the following lines
|
||||
</para>
|
||||
|
@ -95,7 +94,7 @@ printer=on
|
|||
<para>
|
||||
There are now also virtual spool queues called
|
||||
<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
|
||||
<filename>dlls/gdi/printdrv.c</filename>.
|
||||
</para>
|
||||
|
@ -133,7 +132,7 @@ printer=on
|
|||
<title>Installation of LPR /etc/printcap based printers</title>
|
||||
<para>
|
||||
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>
|
||||
If it does, your printers in <filename>/etc/printcap</filename>
|
||||
|
@ -141,7 +140,7 @@ printer=on
|
|||
printers and also configured mostly automatic.
|
||||
</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
|
||||
<filename>~/.wine/config</filename>. Either use the shortcut
|
||||
name and make the entry look like:
|
||||
|
@ -238,7 +237,7 @@ printer=on
|
|||
</para>
|
||||
<para>
|
||||
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
|
||||
affect the builtin PostScript driver.
|
||||
</para>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
<sect2>
|
||||
<title>Registry structure</title>
|
||||
|
||||
|
||||
<para>
|
||||
The Windows registry is an elaborate tree structure, and not
|
||||
even most Windows programmers are fully aware of how the
|
||||
|
@ -36,23 +36,23 @@
|
|||
<term>HKEY_LOCAL_MACHINE</term>
|
||||
<listitem>
|
||||
<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
|
||||
everything pertaining to the current Windows
|
||||
installation.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>HKEY_USERS</term>
|
||||
<listitem>
|
||||
<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
|
||||
configuration data for every user of the installation.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>HKEY_CLASSES_ROOT</term>
|
||||
<listitem>
|
||||
|
@ -62,7 +62,7 @@
|
|||
associations, OLE document handlers, and COM classes.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>HKEY_CURRENT_USER</term>
|
||||
<listitem>
|
||||
|
@ -77,7 +77,7 @@
|
|||
|
||||
<sect2>
|
||||
<title>Using a Windows registry</title>
|
||||
|
||||
|
||||
<para>
|
||||
If you point Wine at an existing MS Windows installation (by
|
||||
setting the appropriate directories in
|
||||
|
@ -102,7 +102,7 @@
|
|||
|
||||
<sect2>
|
||||
<title>Wine registry data files</title>
|
||||
|
||||
|
||||
<para>
|
||||
In the user's home directory, there is a subdirectory named
|
||||
<filename>.wine</filename>, where Wine will try to save its
|
||||
|
@ -117,7 +117,7 @@
|
|||
This file contains HKEY_LOCAL_MACHINE.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><filename>user.reg</filename></term>
|
||||
<listitem>
|
||||
|
@ -125,7 +125,7 @@
|
|||
This file contains HKEY_CURRENT_USER.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><filename>userdef.reg</filename></term>
|
||||
<listitem>
|
||||
|
@ -134,7 +134,7 @@
|
|||
user settings).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><filename>wine.userreg</filename></term>
|
||||
<listitem>
|
||||
|
@ -149,9 +149,12 @@
|
|||
<para>
|
||||
All of these files are human-readable text files, so unlike
|
||||
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>
|
||||
FIXME: global config currently not implemented.
|
||||
|
||||
In addition to these files, Wine can also optionally load from
|
||||
global registry files residing in the same directory as the
|
||||
global <filename>wine.conf</filename> (i.e.
|
||||
|
@ -177,7 +180,7 @@
|
|||
|
||||
<sect2>
|
||||
<title>System administration</title>
|
||||
|
||||
|
||||
<para>
|
||||
With the above file structure, it is possible for a system
|
||||
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>
|
||||
|
||||
<para>
|
||||
With the above information fresh in mind, let's look at the
|
||||
<filename>wine.conf</filename>/<filename>~/.wine/config</filename>
|
||||
With the above information fresh in mind, let's look at the
|
||||
<filename>wine.conf</filename> / <filename>~/.wine/config</filename>
|
||||
options for handling the registry.
|
||||
</para>
|
||||
|
||||
|
@ -295,12 +298,17 @@ ln -sf /usr/local/etc/wine.userreg wine.userreg
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>UseNewFormat</term>
|
||||
<term>SaveOnlyUpdatedKeys</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This option is obsolete. Wine now always uses the new
|
||||
format; support for the old format was removed a while
|
||||
ago.
|
||||
Controls whether the entire registry is saved to the
|
||||
user's registry files, or only subkeys the user have
|
||||
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>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -316,17 +324,12 @@ ln -sf /usr/local/etc/wine.userreg wine.userreg
|
|||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>SaveOnlyUpdatedKeys</term>
|
||||
<term>UseNewFormat</term>
|
||||
<listitem>
|
||||
<para>
|
||||
Controls whether the entire registry is saved to the
|
||||
user's registry files, or only subkeys the user have
|
||||
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.
|
||||
This option is obsolete. Wine now always uses the new
|
||||
format; support for the old format was removed a while
|
||||
ago.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
|
|
@ -53,7 +53,7 @@ Options:
|
|||
</para>
|
||||
<screen>
|
||||
[wine]
|
||||
"Path"="c:\windows;c:\windows\system;e:\;e:\test;f:\"
|
||||
"Path"="c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\"
|
||||
</screen>
|
||||
<para>
|
||||
You could run the file
|
||||
|
@ -67,18 +67,20 @@ Options:
|
|||
<filename>c:\myapps\foo.exe</filename> with this command:
|
||||
</para>
|
||||
<screen>
|
||||
<prompt>$</prompt> <userinput>wine c:\myapps\foo.exe</userinput>
|
||||
<prompt>$</prompt> <userinput>wine c:\\myapps\\foo.exe</userinput>
|
||||
</screen>
|
||||
<para>
|
||||
(note the backslash-escaped "\" !)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you want to run a console program (aka a CUI executable), use
|
||||
<command>wineconsole</command> instead of <command>wine</command>
|
||||
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
|
||||
to run able your program, in the Unix console were you're started
|
||||
your program, but with very limited capacities (so, your program
|
||||
might work, but your mileage may vary). This shall be improved
|
||||
in the future.
|
||||
to run your program directly in the Unix console where you started it,
|
||||
but with very limited capacities (so your program might work,
|
||||
but your mileage may vary). This shall be improved in the future.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
|
@ -89,7 +91,7 @@ Options:
|
|||
<title>--debugmsg [channels]</title>
|
||||
<para>
|
||||
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
|
||||
make it easier for people to track down the causes behind
|
||||
each bug, Wine provides a number of <firstterm>debug
|
||||
|
@ -155,7 +157,7 @@ Options:
|
|||
</screen>
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
|
@ -245,21 +247,27 @@ winspool</><entry>wnet</><entry>x11</>
|
|||
<sect2>
|
||||
<title>--dll</title>
|
||||
<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>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>--help</title>
|
||||
<para>
|
||||
|
||||
Shows a small command line help page.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>--version</title>
|
||||
<para>
|
||||
|
||||
Shows the Wine version string. Useful to verify your installation.
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
|
|
@ -4,39 +4,39 @@
|
|||
<sect1 id="anon">
|
||||
<title id="anon.title">Anonymous unions/structs</title>
|
||||
<para>
|
||||
Anonymous structs and unions support depends heavily on the compiler.
|
||||
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
|
||||
hold off before using them in production. g++ 2.95 supports anonymous
|
||||
unions but not anonymous structs and gcc 2.95 supports neither. Older
|
||||
Anonymous structs and unions support depends heavily on the compiler.
|
||||
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
|
||||
hold off before using them in production. g++ 2.95 supports anonymous
|
||||
unions but not anonymous structs and gcc 2.95 supports neither. Older
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
But you are stuck with a compiler that does not support anonymous
|
||||
structs/unions all is not lost. The Wine headers should detect this
|
||||
automatically and define <varname>NONAMELESSUNION</varname> /
|
||||
<varname>NONAMELESSSTRUCT</varname>. Then any anonymous union will
|
||||
be given a name
|
||||
<literal>u</literal> or <literal>u2</literal>, <literal>u3</literal>,
|
||||
etc. to avoid name clashes. You will then have to modify your code to
|
||||
But you are stuck with a compiler that does not support anonymous
|
||||
structs/unions all is not lost. The Wine headers should detect this
|
||||
automatically and define <varname>NONAMELESSUNION</varname> /
|
||||
<varname>NONAMELESSSTRUCT</varname>. Then any anonymous union will
|
||||
be given a name
|
||||
<literal>u</literal> or <literal>u2</literal>, <literal>u3</literal>,
|
||||
etc. to avoid name clashes. You will then have to modify your code to
|
||||
include those names where appropriate.
|
||||
</para>
|
||||
<para>
|
||||
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
|
||||
modified code in Windows is to explicitly define the
|
||||
<varname>NONAMELESSUNION</varname> macro. Note that it would be wise
|
||||
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
|
||||
modified code in Windows is to explicitly define the
|
||||
<varname>NONAMELESSUNION</varname> macro. Note that it would be wise
|
||||
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.
|
||||
</para>
|
||||
<para>
|
||||
Things are not as nice when dealing with anonymous structs.
|
||||
Unfortunately the Windows headers make no provisions for compilers
|
||||
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
|
||||
Things are not as nice when dealing with anonymous structs.
|
||||
Unfortunately the Windows headers make no provisions for compilers
|
||||
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
|
||||
Windows. Here's a way to do it:
|
||||
</para>
|
||||
<programlisting>
|
||||
|
@ -55,10 +55,10 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
|
|||
}
|
||||
</programlisting>
|
||||
<para>
|
||||
You may put the <literal>#define</literal> directive directly in the
|
||||
source if only few files are impacted. Otherwise it's probably best
|
||||
to put it in one of your project's widely used headers.
|
||||
Fortunately usage of an anonymous struct is much rarer than usage of
|
||||
You may put the <literal>#define</literal> directive directly in the
|
||||
source if only few files are impacted. Otherwise it's probably best
|
||||
to put it in one of your project's widely used headers.
|
||||
Fortunately usage of an anonymous struct is much rarer than usage of
|
||||
an anonymous union so these modifications should not be too much work.
|
||||
</para>
|
||||
</sect1>
|
||||
|
@ -286,34 +286,34 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
|
|||
<sect1 id="init-problems">
|
||||
<title id="init-problems.title">Initialization problems</title>
|
||||
<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?
|
||||
</para>
|
||||
<para>
|
||||
Winelib is initialized by the application's <function>main</function>
|
||||
before it calls the regular <function>WinMain</function>. But, in C++,
|
||||
the constructors of static class variables are called before the
|
||||
<function>main</function> (by the module's initializer). So if such
|
||||
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
|
||||
problem is much more frequent in C++ because of these class
|
||||
constructors but could also, at least in theory, happen in C if you
|
||||
were to specify an initializer making calls to Winelib. But of
|
||||
Winelib is initialized by the application's <function>main</function>
|
||||
before it calls the regular <function>WinMain</function>. But, in C++,
|
||||
the constructors of static class variables are called before the
|
||||
<function>main</function> (by the module's initializer). So if such
|
||||
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
|
||||
problem is much more frequent in C++ because of these class
|
||||
constructors but could also, at least in theory, happen in C if you
|
||||
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 :-).
|
||||
</para>
|
||||
<para>
|
||||
Further compounding the problem is the fact that Linux's (GNU's?)
|
||||
current dynamic library loader does not call the module
|
||||
initializers in their dependency order. So even if Winelib were to
|
||||
have its own initializer there would be no garantee that it would be
|
||||
called before the initializer of the library containing this static
|
||||
variable. Finally even if the variable is in a library that your
|
||||
application links with, that library's initializer may be called
|
||||
Further compounding the problem is the fact that Linux's (GNU's?)
|
||||
current dynamic library loader does not call the module
|
||||
initializers in their dependency order. So even if Winelib were to
|
||||
have its own initializer there would be no garantee that it would be
|
||||
called before the initializer of the library containing this static
|
||||
variable. Finally even if the variable is in a library that your
|
||||
application links with, that library's initializer may be called
|
||||
before Winelib has been initialized. One such library is the MFC.
|
||||
</para>
|
||||
<para>
|
||||
The current workaround is to move all the application's code in a
|
||||
library and to use a small Winelib application to dynamically load
|
||||
The current workaround is to move all the application's code in a
|
||||
library and to use a small Winelib application to dynamically load
|
||||
this library. Tus the initialization sequence becomes:
|
||||
</para>
|
||||
<itemizedlist>
|
||||
|
@ -329,34 +329,34 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
|
|||
</listitem>
|
||||
<listitem>
|
||||
<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.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<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.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
which triggers the execution of all these libraries initializers
|
||||
in some unknown order. But all is fine because Winelib has
|
||||
which triggers the execution of all these libraries initializers
|
||||
in some unknown order. But all is fine because Winelib has
|
||||
already been initialized anyway.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
finally the main function calls the <function>WinMain</function>
|
||||
finally the main function calls the <function>WinMain</function>
|
||||
of the application's library.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<para>
|
||||
This may sound complex by Winemaker makes it simple. Just specify
|
||||
<option>--wrap</option> or <option>--mfc</option> on the command line
|
||||
and it will adapt its makefiles to build the wrapper and the
|
||||
This may sound complex but Winemaker makes it simple. Just specify
|
||||
<option>--wrap</option> or <option>--mfc</option> on the command line
|
||||
and it will adapt its makefiles to build the wrapper and the
|
||||
application library.
|
||||
</para>
|
||||
</sect1>
|
||||
|
@ -364,7 +364,7 @@ printf("Processor architecture=%d\n",si ANONS .wProcessorArchitecture);
|
|||
<sect1 id="com-support">
|
||||
<title id="com-support.title">VC's native COM support</title>
|
||||
<para>
|
||||
don't use it,
|
||||
don't use it,
|
||||
guide on how to replace it with normal C++ code (yes, how???):
|
||||
extracting a .h and .lib from a COM dll
|
||||
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">
|
||||
<title id="others.title">Others</title>
|
||||
<para>
|
||||
-fpermissive and -fno-for-scope,
|
||||
-fpermissive and -fno-for-scope,
|
||||
maybe other options
|
||||
</para>
|
||||
</sect1>
|
||||
|
|
Loading…
Reference in New Issue