WineHQ
Bug Tracking Database – Bug 12076

 Bugzilla

 

Last modified: 2021-10-26 15:04:38 UTC  

Multiple applications refuse to install unless '%SystemRoot%\System32\Drivers\Etc\{services,host}' exist (Informix Database apps, Autodesk 3ds Max 9, SAP GUI)

Bug 12076 - Multiple applications refuse to install unless '%SystemRoot%\System32\Drivers\Etc\{services,host}' exist (Informix Database apps, Autodesk 3ds Max 9, SAP GUI)
Multiple applications refuse to install unless '%SystemRoot%\System32\Drivers...
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: winsock
0.9.57.
x86 Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
https://web.archive.org/web/201507240...
: download, Installer, patch
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2008-03-17 14:04 UTC by Dan Kegel
Modified: 2021-10-26 15:04 UTC (History)
5 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: 50c40b913a9ac99162f9729ab8a0869ebaae9917
Distribution: ---
Staged patchset: https://github.com/wine-staging/wine-staging/tree/master/patches/wineboot-drivers_etc_Stubs


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Kegel 2008-03-17 14:04:59 UTC
A user's informix-based app refused to install until
the empty files c:/windows/system32/drivers/etc/{services,host}
were created, see

http://winehq.org/pipermail/wine-users/2008-March/030256.html

I looked around a bit for other system32/drivers/etc files.

http://support.microsoft.com/kb/130024 describes hosts, services, and protocols
http://support.microsoft.com/kb/105997 describes lmhosts

It looks like some apps find that directory by looking at
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath 
and MSN Messenger 7.5 f*cks up by changing that variable's type, see
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6343068

Getting this all right would be a lot of work.  Just creating
two empty files might be reasonable, though, since it
allows the user's app to install.
Comment 1 Austin English 2009-01-19 21:14:28 UTC
Removing deprecated CVS/GIT version tag. Please retest in current git. If the bug is still present in today's wine, but was not present in some earlier version of wine, please update version field to earliest known version of wine that had the bug. Thanks!
Comment 2 Anastasius Focht 2011-07-18 19:26:28 UTC
Hello,

obviously still present...
Do you know an example app to put as download link?
The referenced wine-users thread is unspecific which informix app needs this ...

$ wine --version
wine-1.3.24-216-gd385675

Regards
Comment 3 Bruno Jesus 2014-02-06 11:05:16 UTC
Well, it's not possible to reproduce this bug as there is no application but I guess is still relevant since the files are still not created.
Comment 4 Austin English 2015-02-23 05:30:29 UTC
(In reply to Bruno Jesus from comment #3)
> Well, it's not possible to reproduce this bug as there is no application but
> I guess is still relevant since the files are still not created.

Still in 1.7.37.
Comment 5 Anastasius Focht 2020-12-12 14:25:59 UTC
Hello folks,

revisiting, still present.

I've found an application / installer for reproduce: 'Autodesk 3ds Max 9' trial version.

https://web.archive.org/web/20150724061434/http://files.modacity.net/software/3dsmax/3dsmax9.zip

There is a problem with the current registry setting of 'HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath' most installers use to query the path.

I've created bug 50318 to have the path in registry corrected so it is in sync with the Wine-Staging patchset.

With fix from bug 50318:

--- snip ---
$ WINEDEBUG=+seh,+relay,+loaddll,+msi wine msiexec -i 3dsmax9_win32.msi >>log.txt 2>&1
...
0118:trace:msi:HANDLE_CustomType1 Calling function L"MRSetService" from L"C:\\users\\focht\\Temp\\msi14d8.tmp" 
...
07cc:Call advapi32.RegOpenKeyExA(80000002,01808614 "SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters",00000000,0002001f,014df034) ret=017c1b81
...
07cc:Ret  advapi32.RegOpenKeyExA() retval=00000000 ret=017c1b81
07cc:Call advapi32.RegQueryValueExA(000000d4,01808604 "DataBasePath",00000000,014df01c,014df03c,014df020) ret=017c0561
...
07cc:Ret  advapi32.RegQueryValueExA() retval=00000000 ret=017c0561
07cc:Call KERNEL32.ExpandEnvironmentStringsA(014df03c "%SystemRoot%\\System32\\Drivers\\Etc",014df43c,00000400) ret=017c1bfd
...
07cc:Ret  KERNEL32.ExpandEnvironmentStringsA() retval=00000020 ret=017c1bfd 
...
07cc:Call KERNEL32.GetFullPathNameA(019a0ea8 "C:\\windows\\System32\\Drivers\\Etc\\services",00000104,014df688,014df4f8) ret=017de351 
...
07cc:Ret  KERNEL32.GetFullPathNameA() retval=00000028 ret=017de351 
...
07cc:Call KERNEL32.FindFirstFileA(019a0ea8 "C:\\windows\\System32\\Drivers\\Etc\\services",014df50c) ret=017de3f1 
...
07cc:Ret  KERNEL32.FindFirstFileA() retval=ffffffff ret=017de3f1 
...
07cc:Call KERNEL32.CreateFileA(019a0ea8 "C:\\windows\\System32\\Drivers\\Etc\\services",80000000,00000000,014df670,00000003,00000080,00000000) ret=017de5f4 
...
07cc:Ret  KERNEL32.CreateFileA() retval=ffffffff ret=017de5f4
07cc:Call KERNEL32.GetLastError() ret=017de2cf
07cc:Ret  KERNEL32.GetLastError() retval=00000003 ret=017de2cf
...
07cc:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,014df770) ret=017eec32
07cc:Call ntdll.memcpy(014df6c8,014df770,0000000c) ret=7b00ff18
07cc:Ret  ntdll.memcpy() retval=014df6c8 ret=7b00ff18
07cc:trace:seh:dispatch_exception code=e06d7363 flags=1 addr=7B00FF28 ip=7b00ff28 tid=07cc
07cc:trace:seh:dispatch_exception  info[0]=19930520
07cc:trace:seh:dispatch_exception  info[1]=014df7a0
07cc:trace:seh:dispatch_exception  info[2]=01811c9c
07cc:trace:seh:dispatch_exception  eax=014df6b4 ebx=00178701 ecx=014df770 edx=0000000c esi=00000003 edi=014df720
07cc:trace:seh:dispatch_exception  ebp=014df708 esp=014df6b4 cs=7bc50023 ds=14d002b es=7bc3002b fs=14d0063 gs=006b flags=00000216
07cc:trace:seh:call_vectored_handlers calling handler at 7B00F270 code=e06d7363 flags=1
07cc:trace:seh:call_vectored_handlers handler at 7B00F270 returned 0
07cc:trace:seh:call_stack_handlers calling handler at 01805E2E code=e06d7363 flags=1 
...
07cc:Call user32.MessageBoxA(00000000,0181d368 "Runtime Error!\n\nProgram: C:\\windows\\system32\\msiexec.exe\n\n\r\nThis application has requested the Runtime to terminate it in an unusual way.\nPlease contact the application's support team for more information.\r\n",0180b7b8 "Microsoft Visual C++ Runtime Library",00012010) ret=017fdfa1 
--- snip ---

Wine-Staging patchset could be considered for upstreaming into mainline after Wine 6.0 release unless you want to celebrate the 13th anniversary of the bug.

$ sha1sum 3dsmax9.zip 
d04eeb0eeabbb7cedaf536170fb6879b2faf1a25  3dsmax9.zip

$ du -sh 3dsmax9.zip 
590M	3dsmax9.zip

$ wine --version
wine-6.0-rc2

Regards
Comment 6 Hans Leidekker 2020-12-12 14:48:33 UTC
(In reply to Anastasius Focht from comment #5)
> Wine-Staging patchset could be considered for upstreaming into mainline
> after Wine 6.0 release unless you want to celebrate the 13th anniversary of
> the bug.

SAP GUI is another application that needs these files (see related bug 49656). winsock PE conversion depends on this, so there's hope that it will be fixed sometime soon :)
Comment 7 Anastasius Focht 2020-12-12 22:33:39 UTC
Hello Hans,

--- quote ---
winsock PE conversion depends on this, so there's hope that it will be fixed sometime soon :)
--- quote ---

I've created follow-up bug 50323 which highlights the problem that these files need to be managed in winsock API.

Bug 50323 ("Multiple applications need 'Ws2_32.getservbyname' to read information from '%SystemRoot%\System32\Drivers\Etc\services' (Autodesk 3ds Max 9 RaySat service)")

Bug 49656 ("SAP GUI - Ws2_32.getaddrinfo crashes with non-standard service (/etc/services)") could also have a follow-up one since the conceptional problem was not addressed there.

Alternatively we could convert one to a "meta" ticket, that is something like "Ws2_32.* API needs to manage '%SystemRoot%\System32\Drivers\Etc\services'".
It might be harder to get a closure on though if affected apps use different sets of winsock API calls.

Regards
Comment 8 Anastasius Focht 2021-04-16 07:08:37 UTC
Hello folks,

this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/50c40b913a9ac99162f9729ab8a0869ebaae9917 ("ws2_32: Install network database files.").

Thanks Alexandre

--- snip ---
$ tree --charset=ANSI .wine/drive_c/windows/system32/drivers/etc/
.wine/drive_c/windows/system32/drivers/etc/
|-- hosts
|-- networks
|-- protocols
`-- services

0 directories, 4 files
--- snip ---

$ wine --version
wine-6.6-149-g39263558a20

Regards
Comment 9 Alexandre Julliard 2021-04-23 20:20:55 UTC
Closing bugs fixed in 6.7.
Comment 10 Michael Stefaniuc 2021-10-26 15:04:38 UTC
Removing the 6.0.x milestone from bug fixes included in 6.0.2.


Privacy Policy
If you have a privacy inquiry regarding this site, please write to privacy@winehq.org

Hosted By CodeWeavers