Replaced -dosver and -winver options by config file parameters.
This commit is contained in:
parent
45a795c0d8
commit
8c08ceb56c
|
@ -937,7 +937,7 @@ static HKEY WINSPOOL_OpenDriverReg( LPVOID pEnvironment, BOOL unicode)
|
|||
|
||||
switch (ver.dwPlatformId) {
|
||||
case VER_PLATFORM_WIN32s:
|
||||
ERR("win32 style printing used with 16 bits app, try -winver win95\n");
|
||||
ERR("win32 style printing used with 16 bits app, try specifying 'win95' Windows version\n");
|
||||
return 0;
|
||||
|
||||
case VER_PLATFORM_WIN32_NT:
|
||||
|
|
|
@ -65,7 +65,7 @@ $(BOOKNAME).ps: $(BOOK_SRCS)
|
|||
db2ps $(BOOKNAME).sgml > /dev/null
|
||||
|
||||
wine.man: wine.man.in
|
||||
sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' $(SRCDIR)/wine.man.in >$@ || $(RM) $@
|
||||
sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $(SRCDIR)/wine.man.in >$@ || $(RM) $@
|
||||
|
||||
install:: $(MAN_TARGETS)
|
||||
$(INSTALL) -d $(mandir)/man$(prog_manext)
|
||||
|
|
|
@ -1887,37 +1887,6 @@ die folgenden Programme und Dateien installiert sein:
|
|||
werden kann. Diese Optionen werden direkt von WINE interpretiert
|
||||
und nicht an das aufzurufende Windows-Programm übergeben.
|
||||
|
||||
--managed
|
||||
Standardmäßig laufen Windows-Programme mit WINE unabhängig
|
||||
vom eingesetzten Windows-Manager. Dies kann zu Problemen bei
|
||||
der gleichzeitigen Verwendung normaler X Programme und von
|
||||
Windows-Programmen führen. Durch Verwendung der Option
|
||||
--managed werden auch Windows-Programme vom Window-Manager
|
||||
verwaltet, sie erhalten dann die gleichen Verzierungen wie
|
||||
normale X Programme (siehe auch Abschnitt 7.5)
|
||||
|
||||
--winver Version
|
||||
Viele Windows-Programme funktionieren nur mit bestimmten
|
||||
Versionen von Windows oder verhalten sich unterschiedlich,
|
||||
je nachdem mit welcher Version von Windows sie ausgeführt
|
||||
werden. Dieser Parameter dient dazu, WINE anzuweisen, als
|
||||
welche Windows-Version es sich ausgeben soll, wenn Programme
|
||||
dies erfragen. Standardmäßig versucht WINE selbst
|
||||
herauszufinden, welche Version von einem bestimmten Programm
|
||||
erwartet wird. Mit Version kann folgendes angegeben werden:
|
||||
win31 (Windows 3.1), win95 (Windows 95), win98 (Windows 98),
|
||||
nt351 (Windows NT 3.51) oder nt40 (Windows NT 4.0). Im
|
||||
Zweifelsfall empfiehlt sich win95, weil WINE zur Zeit die
|
||||
meisten Gemeinsamkeiten mit dieser Windows-Version
|
||||
aufweist. Beispiel: --winver win95.
|
||||
|
||||
--dosver Version
|
||||
Wenn DOS-Programme mit Windows ausgeführt werden, erwarten
|
||||
diese gelegentlich eine bestimmte Version von MS-DOS. Dazu
|
||||
ist mit dem Parameter --dosver die gewünschte Version, in
|
||||
der Form x.xx anzugeben. Beispiel: --dosver 7.10 (diese
|
||||
Version entspricht Windows 95b).
|
||||
|
||||
--help
|
||||
Die Option bewirkt, dass eine Übersicht über die verfügbaren
|
||||
Optionen ausgegeben wird.
|
||||
|
|
|
@ -28,13 +28,8 @@ Usage: ./wine [options] program_name [arguments]
|
|||
Options:
|
||||
--debugmsg name Turn debugging-messages on or off
|
||||
--dll name Enable or disable built-in DLLs
|
||||
--dosver x.xx DOS version to imitate (e.g. 6.22)
|
||||
Only valid with --winver win31
|
||||
--help,-h Show this help message
|
||||
--managed Allow the window manager to manage created windows
|
||||
--version,-v Display the Wine version
|
||||
--winver Version to imitate
|
||||
(win95,nt40,win31,nt2k,win98,nt351,win30,win20)
|
||||
</screen>
|
||||
</para>
|
||||
|
||||
|
@ -74,25 +69,6 @@ Options:
|
|||
<screen>
|
||||
<prompt>$</prompt> <userinput>wine c:\myapps\foo.exe</userinput>
|
||||
</screen>
|
||||
<para>
|
||||
Finally, if you want to pass any parameters to your windows
|
||||
application, you can list them at the end, just after the
|
||||
executable name. Thus, to run the imaginary
|
||||
<command>foo.exe</command> Windows application with its
|
||||
<parameter>/advanced</parameter> mode parameter, while
|
||||
invoking Wine in <link
|
||||
linkend="managed-parameter"><parameter>--managed</parameter>
|
||||
mode</link>, you would do something like this:
|
||||
</para>
|
||||
<screen>
|
||||
<prompt>$</prompt> <userinput>wine --managed foo.exe /advanced</userinput>
|
||||
</screen>
|
||||
<para>
|
||||
In other words, options that affect Wine should come
|
||||
<emphasis>before</emphasis> the Windows program name, while
|
||||
options that affect the Windows program should come
|
||||
<emphasis>after</emphasis> it.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you want to run a console program (aka a CUI executable), use
|
||||
|
@ -273,13 +249,6 @@ winspool</><entry>wnet</><entry>x11</>
|
|||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>--dosver</title>
|
||||
<para>
|
||||
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>--help</title>
|
||||
<para>
|
||||
|
@ -287,26 +256,12 @@ winspool</><entry>wnet</><entry>x11</>
|
|||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="managed-parameter">
|
||||
<title>--managed</title>
|
||||
<para>
|
||||
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>--version</title>
|
||||
<para>
|
||||
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>--winver</title>
|
||||
<para>
|
||||
|
||||
</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
|
|
|
@ -70,6 +70,12 @@ WINE REGISTRY Version 2
|
|||
|
||||
# <wineconf>
|
||||
|
||||
[Version]
|
||||
; Windows version to imitate (win95,win98,winme,nt351,nt40,win2k,winxp,win20,win30,win31)" },
|
||||
;"Windows" = "win98"
|
||||
; DOS version to imitate
|
||||
;"DOS" = "6.22"
|
||||
|
||||
; Be careful here, wrong DllOverrides settings have the potential
|
||||
; to pretty much kill your setup.
|
||||
[DllOverrides]
|
||||
|
@ -124,7 +130,7 @@ WINE REGISTRY Version 2
|
|||
; Name of X11 display to use
|
||||
;;"Display" = ":0.0"
|
||||
; Allow the window manager to manage created windows
|
||||
"Managed" = "N"
|
||||
"Managed" = "Y"
|
||||
; Use a desktop window of 640x480 for Wine
|
||||
;"Desktop" = "640x480"
|
||||
; Use XFree86 DGA extension if present
|
||||
|
@ -149,7 +155,7 @@ WINE REGISTRY Version 2
|
|||
;;"Synchronous" = "Y"
|
||||
|
||||
[fonts]
|
||||
;Read documentation/fonts before adding aliases
|
||||
;Read the Fonts topic in the Wine User Guide before adding aliases
|
||||
;See a couple of examples for russian users below
|
||||
"Resolution" = "96"
|
||||
"Default" = "-adobe-helvetica-"
|
||||
|
@ -217,7 +223,7 @@ WINE REGISTRY Version 2
|
|||
[Tweak.Layout]
|
||||
;; supported styles are 'Win31'(default), 'Win95', 'Win98'
|
||||
;; this has *nothing* to do with the windows version Wine returns:
|
||||
;; use cmdline option --winver if you want that.
|
||||
;; set the "Windows" value in the [Version] section if you want that.
|
||||
"WineLook" = "Win95"
|
||||
|
||||
[Console]
|
||||
|
@ -258,5 +264,8 @@ WINE REGISTRY Version 2
|
|||
;
|
||||
;[AppDefaults\\setup.exe\\x11drv]
|
||||
;"Desktop" = "800x600"
|
||||
;
|
||||
;[AppDefaults\\sol.exe\\Version]
|
||||
;"Windows" = "nt40"
|
||||
|
||||
# </wineconf>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.\" -*- nroff -*-
|
||||
.TH WINE 1 "Oct 13, 2001" "Version 20011004" "Windows On Unix"
|
||||
.TH WINE 1 "May 2002" "@PACKAGE_STRING@" "Windows On Unix"
|
||||
.SH NAME
|
||||
wine \- run Windows programs on Unix
|
||||
.SH SYNOPSIS
|
||||
|
@ -154,19 +154,6 @@ comctl32/commctrl always as native.
|
|||
Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
|
||||
having exactly the same load order. This will prevent mismatches at runtime.
|
||||
See also configuration file format below.
|
||||
.TP
|
||||
.I --dosver version
|
||||
Specify the DOS version
|
||||
.B wine
|
||||
should imitate (e.g. 6.22) This option
|
||||
is only valid when used in conjunction with --winver win31.
|
||||
.TP
|
||||
.I --winver version
|
||||
Specify which Windows version
|
||||
.B wine
|
||||
should imitate.
|
||||
Possible arguments are: win95, win98, winme, nt351, nt40, win2000, winxp,
|
||||
win20, win30 and win31.
|
||||
.PD 1
|
||||
.SH PROGRAM/ARGUMENTS
|
||||
The program name may be specified in DOS format (
|
||||
|
@ -255,8 +242,8 @@ Specifies the path and name of the
|
|||
.B wineserver
|
||||
binary. If not set, Wine will try to load
|
||||
.B @bindir@/wineserver,
|
||||
and if this doesn't exist will then look for a file named "wineserver"
|
||||
in the path and in a few other likely locations.
|
||||
and if this doesn't exist it will then look for a file named
|
||||
"wineserver" in the path and in a few other likely locations.
|
||||
.TP
|
||||
.I WINELOADER
|
||||
Specifies the path and name of the
|
||||
|
@ -264,7 +251,7 @@ Specifies the path and name of the
|
|||
binary to use to launch new Windows processes. If not set, Wine will
|
||||
try to load
|
||||
.B @bindir@/wine,
|
||||
and if this doesn't exist will then look for a file named "wine" in
|
||||
and if this doesn't exist it will then look for a file named "wine" in
|
||||
the path and in a few other likely locations.
|
||||
.TP
|
||||
.I WINEDLLPATH
|
||||
|
|
|
@ -62,15 +62,10 @@ static const struct option_descr option_table[] =
|
|||
"--debugmsg name Turn debugging-messages on or off" },
|
||||
{ "dll", 0, 1, 1, MODULE_AddLoadOrderOption,
|
||||
"--dll name Enable or disable built-in DLLs" },
|
||||
{ "dosver", 0, 1, 1, VERSION_ParseDosVersion,
|
||||
"--dosver x.xx DOS version to imitate (e.g. 6.22)\n"
|
||||
" Only valid with --winver win31" },
|
||||
{ "help", 'h', 0, 0, do_help,
|
||||
"--help,-h Show this help message" },
|
||||
{ "version", 'v', 0, 0, do_version,
|
||||
"--version,-v Display the Wine version" },
|
||||
{ "winver", 0, 1, 1, VERSION_ParseWinVersion,
|
||||
"--winver Version to imitate (win95,win98,winme,nt351,nt40,win2k,winxp,win20,win30,win31)" },
|
||||
{ NULL, 0, 0, 0, NULL, NULL } /* terminator */
|
||||
};
|
||||
|
||||
|
|
|
@ -26,11 +26,11 @@
|
|||
#include <stdio.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winreg.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "wine/winbase16.h"
|
||||
#include "module.h"
|
||||
#include "options.h"
|
||||
#include "wine/debug.h"
|
||||
#include "winerror.h"
|
||||
|
||||
|
@ -198,7 +198,7 @@ static WINDOWS_VERSION defaultWinVersion = WIN31;
|
|||
/**********************************************************************
|
||||
* VERSION_ParseWinVersion
|
||||
*/
|
||||
void VERSION_ParseWinVersion( const char *arg )
|
||||
static void VERSION_ParseWinVersion( const char *arg )
|
||||
{
|
||||
int i, len;
|
||||
const char *pCurr, *p;
|
||||
|
@ -218,7 +218,7 @@ void VERSION_ParseWinVersion( const char *arg )
|
|||
pCurr = p+1;
|
||||
} while (p);
|
||||
}
|
||||
MESSAGE("Invalid winver value '%s' specified.\n", arg );
|
||||
MESSAGE("Invalid Windows version value '%s' specified in config file.\n", arg );
|
||||
MESSAGE("Valid versions are:" );
|
||||
for (i = 0; i < NB_WINDOWS_VERSIONS; i++)
|
||||
{
|
||||
|
@ -237,7 +237,7 @@ void VERSION_ParseWinVersion( const char *arg )
|
|||
/**********************************************************************
|
||||
* VERSION_ParseDosVersion
|
||||
*/
|
||||
void VERSION_ParseDosVersion( const char *arg )
|
||||
static void VERSION_ParseDosVersion( const char *arg )
|
||||
{
|
||||
int hi, lo;
|
||||
if (sscanf( arg, "%d.%d", &hi, &lo ) == 2)
|
||||
|
@ -248,11 +248,87 @@ void VERSION_ParseDosVersion( const char *arg )
|
|||
}
|
||||
else
|
||||
{
|
||||
MESSAGE("--dosver: Wrong version format. Use \"--dosver x.xx\"\n");
|
||||
MESSAGE("Wrong format for DOS version in config file. Use \"x.xx\"\n");
|
||||
ExitProcess(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* VERSION_Init
|
||||
*/
|
||||
static void VERSION_Init(void)
|
||||
{
|
||||
HKEY hkey, appkey;
|
||||
DWORD count, type;
|
||||
BOOL got_win_ver = FALSE, got_dos_ver = FALSE;
|
||||
char buffer[MAX_PATH+16], *appname, *p;
|
||||
static BOOL init_done;
|
||||
|
||||
if (init_done) return;
|
||||
if (!GetModuleFileName16( GetCurrentTask(), buffer, MAX_PATH ) &&
|
||||
!GetModuleFileNameA( 0, buffer, MAX_PATH ))
|
||||
{
|
||||
WARN( "could not get module file name\n" );
|
||||
return;
|
||||
}
|
||||
init_done = TRUE;
|
||||
appname = buffer;
|
||||
if ((p = strrchr( appname, '/' ))) appname = p + 1;
|
||||
if ((p = strrchr( appname, '\\' ))) appname = p + 1;
|
||||
|
||||
if (!RegOpenKeyA( HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\AppDefaults", &hkey ))
|
||||
{
|
||||
/* open AppDefaults\\appname\\Version key */
|
||||
strcat( appname, "\\Version" );
|
||||
if (!RegOpenKeyA( hkey, appname, &appkey ))
|
||||
{
|
||||
count = sizeof(buffer);
|
||||
if (!RegQueryValueExA( appkey, "Windows", NULL, &type, buffer, &count ))
|
||||
{
|
||||
VERSION_ParseWinVersion( buffer );
|
||||
TRACE( "got app win version %s\n", WinVersionNames[defaultWinVersion] );
|
||||
got_win_ver = TRUE;
|
||||
}
|
||||
count = sizeof(buffer);
|
||||
if (!RegQueryValueExA( appkey, "DOS", NULL, &type, buffer, &count ))
|
||||
{
|
||||
VERSION_ParseDosVersion( buffer );
|
||||
TRACE( "got app dos version %lx\n", VersionData[WIN31].getVersion16 );
|
||||
got_dos_ver = TRUE;
|
||||
}
|
||||
RegCloseKey( appkey );
|
||||
}
|
||||
RegCloseKey( hkey );
|
||||
}
|
||||
|
||||
if (got_win_ver && got_dos_ver) return;
|
||||
|
||||
if (!RegOpenKeyA( HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\Version", &hkey ))
|
||||
{
|
||||
if (!got_win_ver)
|
||||
{
|
||||
count = sizeof(buffer);
|
||||
if (!RegQueryValueExA( hkey, "Windows", NULL, &type, buffer, &count ))
|
||||
{
|
||||
VERSION_ParseWinVersion( buffer );
|
||||
TRACE( "got default win version %s\n", WinVersionNames[defaultWinVersion] );
|
||||
}
|
||||
}
|
||||
if (!got_dos_ver)
|
||||
{
|
||||
count = sizeof(buffer);
|
||||
if (!RegQueryValueExA( hkey, "DOS", NULL, &type, buffer, &count ))
|
||||
{
|
||||
VERSION_ParseDosVersion( buffer );
|
||||
TRACE( "got default dos version %lx\n", VersionData[WIN31].getVersion16 );
|
||||
}
|
||||
}
|
||||
RegCloseKey( hkey );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* VERSION_GetSystemDLLVersion
|
||||
*
|
||||
|
@ -408,6 +484,7 @@ static WINDOWS_VERSION VERSION_GetVersion(void)
|
|||
{
|
||||
WINDOWS_VERSION retver;
|
||||
|
||||
VERSION_Init();
|
||||
if (versionForced) /* user has overridden any sensible checks */
|
||||
winver = defaultWinVersion;
|
||||
else
|
||||
|
|
|
@ -350,7 +350,8 @@ HANDLE DEVICE_Open( LPCSTR filename, DWORD access, LPSECURITY_ATTRIBUTES sa )
|
|||
if (!strncasecmp( info->name, filename, strlen(info->name) ))
|
||||
return FILE_CreateDevice( info->id | 0x10000, access, sa );
|
||||
|
||||
FIXME( "Unknown/unsupported VxD %s. Try --winver nt40 or win31 !\n", filename);
|
||||
FIXME( "Unknown/unsupported VxD %s. Try setting Windows version to 'nt40' or 'win31'.\n",
|
||||
filename);
|
||||
SetLastError( ERROR_FILE_NOT_FOUND );
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue