http://bugs.winehq.org/show_bug.cgi?id=27827
Summary: Creo Elements/Direct Modeling Express 4.0 loader failure due to missing msvcrt.dll dependency Product: Wine Version: 1.3.24 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net
Hello,
a user reported a problem with this app on IRC #winehq. It seems there is a dll dependency to msvcrt.dll not present with Wine dlls.
--- snip --- ... 0025:Call PE DLL (proc=0x5c172245,module=0x5c170000 L"redirect.dll",reason=PROCESS_ATTACH,res=0x1) 0025:Call KERNEL32.GetEnvironmentVariableW(5c17309c L"SDREDIRECTION",5c175f30,00000040) ret=5c171d99 0025:Ret KERNEL32.GetEnvironmentVariableW() retval=00000000 ret=5c171d99 0025:Call KERNEL32.lstrcmpiW(5c173810 L"no",5c1730b8 L"") ret=5c17228a 0025:Ret KERNEL32.lstrcmpiW() retval=00000001 ret=5c17228a 0025:Call KERNEL32.SetEnvironmentVariableW(5c1738c0 L"_NO_DEBUG_HEAP",5c1738bc L"1") ret=5c1722b1 0025:Ret KERNEL32.SetEnvironmentVariableW() retval=00000001 ret=5c1722b1 0025:Call KERNEL32.GetModuleHandleW(00000000) ret=5c1722e0 0025:Ret KERNEL32.GetModuleHandleW() retval=00400000 ret=5c1722e0 0025:Call KERNEL32.GetProcAddress(00400000,5c173954 "ThreadAttached") ret=5c1722e7 0025:Ret KERNEL32.GetProcAddress() retval=004e6e20 ret=5c1722e7 0025:Call KERNEL32.GetModuleHandleW(00000000) ret=5c1722f9 0025:Ret KERNEL32.GetModuleHandleW() retval=00400000 ret=5c1722f9 0025:Call KERNEL32.GetProcAddress(00400000,5c173964 "ThreadDetached") ret=5c172300 0025:Ret KERNEL32.GetProcAddress() retval=004e6e40 ret=5c172300 0025:Call KERNEL32.GetModuleHandleW(5c173624 L"MSVCRT") ret=5c17212b 0025:trace:module:LdrGetDllHandle L"MSVCRT" -> (nil) (load path L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 4.0\binNT;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem") 0025:Ret KERNEL32.GetModuleHandleW() retval=00000000 ret=5c17212b 0025:Call KERNEL32.GetProcAddress(00000000,5c173618 "setlocale") ret=5c172132 0025:Ret KERNEL32.GetProcAddress() retval=00000000 ret=5c172132 0025:Call KERNEL32.OutputDebugStringW(5c173650 L"redirect: Cannot find setlocale() in msvcrt.dll.") ret=5c17214b 0025:Ret KERNEL32.OutputDebugStringW() retval=0032fc80 ret=5c17214b 0025:Call KERNEL32.lstrcmpiW(5c173610 L"try",5c1730b8 L"") ret=5c172230 0025:Ret KERNEL32.lstrcmpiW() retval=00000001 ret=5c172230 0025:Call KERNEL32.RaiseException(0000002c,00000000,00000000,00000000) ret=5c172243 0025:trace:seh:raise_exception code=2c flags=0 addr=0x683704bb ip=683704bb tid=0025 0025:trace:seh:raise_exception eax=6835dc85 ebx=683e06c4 ecx=00000000 edx=00000010 esi=0032fd18 edi=0032fc90 0025:trace:seh:raise_exception ebp=0032fc78 esp=0032fc14 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00200246 0025:trace:seh:call_stack_handlers calling handler at 0x7b9fbf2e code=2c flags=0 0025:trace:seh:__regs_RtlUnwind code=2c flags=2 0025:trace:seh:__regs_RtlUnwind calling handler at 0x7b9e0be3 code=2c flags=2 0025:trace:seh:__regs_RtlUnwind handler at 0x7b9e0be3 returned 1 ... --- snip ---
The dll init code from "redirect.dll" assumes "msvcrt.dll" has already been loaded (hence GetModuleHandleW).
There is an earlier loading attempt of "msvcrt.dll" due to Wine builtin MSVCR100.dll which is later dropped because native MSVCR100.dll has precedence.
--- snip --- ... 0025:warn:module:load_builtin_dll failed to load .so lib for builtin L"C:\windows\system32\MSVCR100.dll": /home/focht/.wine/dosdevices/c:/windows/system32/msvcr100.dll: invalid ELF header 0025:trace:module:load_builtin_dll Trying built-in L"MSVCR100.dll" 0025:trace:module:load_dll looking for L"msvcrt.dll" in L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 4.0\binNT;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0025:trace:module:get_load_order looking for L"C:\windows\system32\msvcrt.dll" 0025:trace:module:get_load_order got hardcoded default for L"msvcrt.dll" 0025:trace:module:load_dll L"C:\windows\system32\msvcrt.dll" is a fake Wine dll 0025:trace:module:load_builtin_dll Trying built-in L"msvcrt.dll" 0025:trace:module:load_dll looking for L"kernel32.dll" in L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 4.0\binNT;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0025:trace:module:load_dll Found L"C:\windows\system32\KERNEL32.dll" for L"kernel32.dll" at 0x68350000, count=7 0025:trace:module:load_dll looking for L"ntdll.dll" in L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 4.0\binNT;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0025:trace:module:load_dll Found L"C:\windows\system32\ntdll.dll" for L"ntdll.dll" at 0x7b980000, count=7 0025:trace:module:load_builtin_callback loaded msvcrt.dll 0x116490 0x68780000 0025:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msvcrt.dll" at 0x68780000: builtin 0025:trace:module:load_dll Loaded module L"C:\windows\system32\msvcrt.dll" (builtin) at 0x68780000 0025:trace:module:load_dll looking for L"kernel32.dll" in L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 4.0\binNT;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0025:trace:module:load_dll Found L"C:\windows\system32\KERNEL32.dll" for L"kernel32.dll" at 0x68350000, count=8 0025:trace:module:load_builtin_callback loaded msvcr100.dll 0x116398 0x68740000 0025:trace:loaddll:load_builtin_dll Loaded L"C:\windows\system32\msvcr100.dll" at 0x68740000: builtin 0025:Call PE DLL (proc=0x6874bac4,module=0x68740000 L"msvcr100.dll",reason=WINE_PREATTACH,res=(nil)) 0025:Ret PE DLL (proc=0x6874bac4,module=0x68740000 L"msvcr100.dll",reason=WINE_PREATTACH,res=(nil)) retval=0 0025:trace:module:load_dll L"C:\windows\system32\MSVCR100.dll" pre-attach returned FALSE, preferring native 0025:trace:module:LdrUnloadDll (0x68740000) 0025:trace:module:LdrUnloadDll (L"msvcr100.dll") - START 0025:trace:module:MODULE_DecRefCount (L"msvcr100.dll") ldr.LoadCount: 0 0025:trace:module:MODULE_DecRefCount (L"msvcrt.dll") ldr.LoadCount: 0 0025:trace:module:MODULE_DecRefCount (L"KERNEL32.dll") ldr.LoadCount: 7 0025:trace:module:MODULE_DecRefCount (L"ntdll.dll") ldr.LoadCount: 6 0025:trace:module:MODULE_DecRefCount (L"KERNEL32.dll") ldr.LoadCount: 6 0025:trace:module:free_modref unloading L"C:\windows\system32\msvcrt.dll" 0025:trace:module:free_modref unloading L"C:\windows\system32\msvcr100.dll" 0025:trace:module:LdrUnloadDll END 0025:trace:module:load_native_dll Trying native dll L"C:\windows\system32\MSVCR100.dll" ... --- snip ---
It would be helpful if someone could install the app on Windows and load "SolidDesigner.exe" main executable in Dependency Walker Tool (http://www.dependencywalker.com/) to figure out which dll pulls in "msvcrt.dll".
In the listview select "msvcrt.dll" and then right click context menu "highlight matching module in tree". This would ideally show the parent dll in tree view that pulls in the dependency.
Regards
http://bugs.winehq.org/show_bug.cgi?id=27827
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.ptc.com/products | |/creo-elements-direct/model | |ing-express/
--- Comment #1 from Anastasius Focht focht@gmx.net 2011-07-18 13:30:45 CDT --- Hello,
filling fields ...
Regards
http://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #2 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-07-21 04:51:17 CDT --- Created an attachment (id=35623) --> (http://bugs.winehq.org/attachment.cgi?id=35623) Screenshot from VirtualBox
I did the requested in VirtualBox, hopefully correct? I selected msvcrt from the listview, then highlight matching module in listview.
Looks like shfolder pulls in msvcrt right?
http://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #3 from Anastasius Focht focht@gmx.net 2011-07-21 05:04:22 CDT --- Hello,
--- quote --- I did the requested in VirtualBox, hopefully correct? I selected msvcrt from the listview, then highlight matching module in listview.
Looks like shfolder pulls in msvcrt right? -- quote ---
the loader failure happens with "SolidDesigner.exe" Can you check it with that binary and provide similar screenshot?
Regards
http://bugs.winehq.org/show_bug.cgi?id=27827
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #35623|0 |1 is obsolete| |
--- Comment #4 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-07-21 05:07:12 CDT --- Created an attachment (id=35624) --> (http://bugs.winehq.org/attachment.cgi?id=35624) for SolidDesigner.exe
I think i loaded the wrong executable; it should be SolidDesigner.exe i guess, and not SD.exe. Here's new screenshot
http://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #5 from Anastasius Focht focht@gmx.net 2011-07-21 05:16:45 CDT --- Hello,
thanks, it seems "netapi32.dll" is the culprit, it pulls in some CRT functions. If you add "msvcrt" to "IMPORTS" list in "dlls/netapi32/Makefile.in" the loader failure should be gone.
Regards
http://bugs.winehq.org/show_bug.cgi?id=27827
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox_xerox2000@yahoo.co.uk
--- Comment #6 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-07-21 05:38:39 CDT --- (In reply to comment #5)
Hello,
thanks, it seems "netapi32.dll" is the culprit, it pulls in some CRT functions. If you add "msvcrt" to "IMPORTS" list in "dlls/netapi32/Makefile.in" the loader failure should be gone.
Regards
Yes, the bug is gone then. I'll send a patch; apparently netapi32 doesn't import any msvcrt function, so not sure it will be accepted?
http://bugs.winehq.org/show_bug.cgi?id=27827
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Creo Elements/Direct |Creo Elements/Direct |Modeling Express 4.0 loader |Modeling Express 4.0 loader |failure due to missing |failure due to missing |msvcrt.dll dependency |msvcrt.dll dependency | |(native netapi32.dll | |imports msvcrt functions)
--- Comment #7 from Anastasius Focht focht@gmx.net 2011-07-21 16:09:34 CDT --- Hello,
why adding msvcrt reference to import list "magically" worked...
Dumping Wine netapi32.dll in-memory PE (along with import descriptor table) with your patch applied reveals:
--- snip --- ->Import Table 1. ImageImportDescriptor: OriginalFirstThunk: 0x0001F470 TimeDateStamp: 0x00000000 (GMT: Thu Jan 1 00:00:00 1970) ForwarderChain: 0x00000000 Name: 0x0001F99C ("iphlpapi.dll") FirstThunk: 0x0001F558
Ordinal/Hint API name ------------ --------------------------------------- 0x0020 "GetIfEntry" 0x0026 "GetIpAddrTable"
2. ImageImportDescriptor: OriginalFirstThunk: 0x0001F47C TimeDateStamp: 0x00000000 (GMT: Thu Jan 1 00:00:00 1970) ForwarderChain: 0x00000000 Name: 0x0001F9A9 ("ws2_32.dll") FirstThunk: 0x0001F564
Ordinal/Hint API name ------------ --------------------------------------- 0x006F "WSAGetLastError" 0x0047 "WSARecv" 0x0049 "WSARecvFrom" 0x004C "WSASend" 0x004E "WSASendTo" 0x0052 "WSASocketA" 0x0003 "closesocket" 0x0004 "connect" 0x0034 "gethostbyname" 0x000B "inet_addr" 0x000C "inet_ntoa" 0x0012 "select" 0x0015 "setsockopt"
3. ImageImportDescriptor: OriginalFirstThunk: 0x0001F4B4 TimeDateStamp: 0x00000000 (GMT: Thu Jan 1 00:00:00 1970) ForwarderChain: 0x00000000 Name: 0x0001F9B4 ("advapi32.dll") FirstThunk: 0x0001F59C
Ordinal/Hint API name ------------ --------------------------------------- 0x003B "CopySid" 0x00A8 "GetLengthSid" 0x00CB "GetUserNameW" 0x00EF "LsaClose" 0x00FD "LsaFreeMemory" 0x0105 "LsaNtStatusToWinError" 0x0107 "LsaOpenPolicy" 0x010C "LsaQueryInformationPolicy" 0x014D "RegCloseKey" 0x016F "RegOpenKeyExW" 0x0170 "RegOpenKeyW" 0x0178 "RegQueryValueExA" 0x0179 "RegQueryValueExW"
4. ImageImportDescriptor: OriginalFirstThunk: 0x0001F4EC TimeDateStamp: 0x00000000 (GMT: Thu Jan 1 00:00:00 1970) ForwarderChain: 0x00000000 Name: 0x0001F9C1 ("msvcrt.dll") FirstThunk: 0x0001F5D4
Ordinal/Hint API name ------------ --------------------------------------- 0x03B3 "memcpy"
5. ImageImportDescriptor: OriginalFirstThunk: 0x0001F4F4 TimeDateStamp: 0x00000000 (GMT: Thu Jan 1 00:00:00 1970) ForwarderChain: 0x00000000 Name: 0x0001F9CC ("kernel32.dll") FirstThunk: 0x0001F5DC
Ordinal/Hint API name ------------ --------------------------------------- 0x00AA "CloseHandle" 0x00CB "CreateEventW" 0x00EB "CreateThread" 0x00FF "DeleteCriticalSection" 0x0107 "DisableThreadLibraryCalls" 0x0111 "EnterCriticalSection" 0x01A0 "GetComputerNameW" 0x01E1 "GetEnvironmentVariableW" 0x0269 "GetTickCount" 0x0277 "GetVersionExW" 0x029D "HeapAlloc" 0x02A3 "HeapFree" 0x02A7 "HeapReAlloc" 0x02AA "HeapSize" 0x02B4 "InitializeCriticalSection" 0x02FF "LeaveCriticalSection" 0x0366 "RaiseException" 0x03B4 "ResetEvent" 0x03B7 "ResumeThread" 0x040C "SetEvent" 0x0487 "WaitForSingleObject" 0x048C "WideCharToMultiByte" 0x04BC "lstrcmpW" 0x04BF "lstrcmpiW" --- snip ---
Surprise: memcpy ;-)
"Offline" dump with msvcrt reference through imports list:
--- snip --- $ objdump -d netapi32.dll.so | grep memcpy -A 5 -B 1
00015970 <memcpy>: 15970: e8 27 01 00 00 call 15a9c <__wine_spec_get_pc_thunk_eax> 15975: ff a0 5f 6c 01 00 jmp *0x16c5f(%eax) 1597b: 90 nop
-- 1a1ec: 89 04 24 mov %eax,(%esp) 1a1ef: e8 7c b7 ff ff call 15970 <memcpy> 1a1f4: 8b 45 dc mov -0x24(%ebp),%eax 1a1f7: 01 45 e0 add %eax,-0x20(%ebp) 1a1fa: 8b 45 e0 mov -0x20(%ebp),%eax 1a1fd: 03 45 0c add 0xc(%ebp),%eax 1a200: c6 00 00 movb $0x0,(%eax) ... --- snip ---
"Offline" dump without msvcrt imports list reference:
--- snip --- $ objdump -d netapi32.dll.so | grep memcpy 000129e8 memcpy@plt: 1a213: e8 d0 87 ff ff call 129e8 memcpy@plt 1b64e: e8 95 73 ff ff call 129e8 memcpy@plt 1ba88: e8 5b 6f ff ff call 129e8 memcpy@plt 1dca0: e8 43 4d ff ff call 129e8 memcpy@plt 21ebd: e8 26 0b ff ff call 129e8 memcpy@plt 21ef4: e8 ef 0a ff ff call 129e8 memcpy@plt
$ objdump -S -j .plt netapi32.dll.so | grep -A 4 -B 1 memcpy
000129e8 memcpy@plt: 129e8: ff a3 28 00 00 00 jmp *0x28(%ebx) 129ee: 68 38 00 00 00 push $0x38 129f3: e9 70 ff ff ff jmp 12968 <__wine_spec_pe_header+0x1100f> --- snip ---
That one goes through GOT/PLT -> libc.
Adjusting summary.
Regards
http://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #8 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2011-07-21 16:31:46 CDT --- Hi, so what to do now?
http://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #9 from Anastasius Focht focht@gmx.net 2011-07-21 17:24:36 CDT --- Hello,
--- quote --- Hi, so what to do now? --- quote ---
Calls to memcpy() will end up in glibc anyway (via forwards) so it doesn't count as useful import.
If netapi32 gets more flesh one day - requiring some CRT functions - the msvcrt import reference might make sense, then. The win32 equivalents of string functions are already used in this module (preferred because they don't require CRT startup code).
For the meantime you could use SDREDIRECTION environment variable hack to force this braindamaged CRT redirector/hook dll not being active.
$ SDREDIRECTION=no wine ./SolidDesigner.exe
Regards
http://bugs.winehq.org/show_bug.cgi?id=27827
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |33500
--- Comment #10 from Anastasius Focht focht@gmx.net 2013-05-01 09:19:14 CDT --- Hello folks,
obviously still present. Installer fails now (bug 33500).
$ du -sh Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe 157M Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe
$ sha1sum Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe 4b77817ac55bf4cbbd85f02949d8d97e9a0ca19a Creo-Elements-Direct-Modeling-Express4-M010-32-setup-EN.exe
$ wine --version wine-1.5.29-38-g8e4317c
Regards
http://bugs.winehq.org/show_bug.cgi?id=27827
Bug 27827 depends on bug 33500, which changed state.
Bug 33500 Summary: Creo Elements/Direct Modeling Express 4.0 fails to install (msi script custom action return value translation too restrictive) http://bugs.winehq.org/show_bug.cgi?id=33500
What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
https://bugs.winehq.org/show_bug.cgi?id=27827
hanska2@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hanska2@luukku.com
--- Comment #11 from hanska2@luukku.com --- fixme:msvcrt:__clean_type_info_names_internal (0xce54dc) stub err:module:attach_process_dlls "redirect.dll" failed to initialize, aborting err:module:LdrInitializeThunk Main exe initialization for L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 6.0\binNT\SolidDesigner.exe" failed, status 2c fixme:heap:HeapSetInformation (nil) 1 (nil) 0 err:module:attach_process_dlls "redirect.dll" failed to initialize, aborting err:module:LdrInitializeThunk Main exe initialization for L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 6.0\binNT\SolidDesigner.exe" failed, status 2c
wine 1.7.22
https://bugs.winehq.org/show_bug.cgi?id=27827
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Creo Elements/Direct |Creo Elements/Direct |Modeling Express 4.0 loader |Modeling Express 4.0/6.0 |failure due to missing |loader failure due to |msvcrt.dll dependency |missing msvcrt.dll |(native netapi32.dll |dependency (native |imports msvcrt functions) |netapi32.dll imports msvcrt | |functions)
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting.
Another user in #winehq asked about this, I downloaded the current PTC Creo Elements/Direct Modeling Express 6.0
http://www.ptc.com/product/creo/elements/direct-modeling/express
and found the issue still present.
Workaround from my comment #9 still works but then it runs into another issue.
$ sha1sum ModelingPE__setup_EN.exe du333736c553c2eb985436e63f20bfcbb59932b6fb ModelingPE__setup_EN.exe
$ du -sh ModelingPE__setup_EN.exe 207M ModelingPE__setup_EN.exe
$ wine --version wine-1.7.47-118-ga90592c
Regards
https://bugs.winehq.org/show_bug.cgi?id=27827
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #13 from super_man@post.com --- Still fails wine 1.9.12 and staging 1.9.12
https://bugs.winehq.org/show_bug.cgi?id=27827
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |netapi32
--- Comment #14 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/PTC/Creo Elements/Direct Modeling Express 6.0/binNT
$ WINEDEBUG=+debugstr wine ./SolidDesigner.exe 002c:warn:debugstr:OutputDebugStringA "redirect: Cannot find setlocale() in msvcrt.dll." 002c:err:module:LdrInitializeThunk "redirect.dll" failed to initialize, aborting 002c:err:module:LdrInitializeThunk Initializing dlls for L"C:\Program Files\PTC\Creo Elements\Direct Modeling Express 6.0\binNT\SolidDesigner.exe" failed, status 2c --- snip ---
$ sha1sum ModelingPE__setup_EN.exe 333736c553c2eb985436e63f20bfcbb59932b6fb ModelingPE__setup_EN.exe
$ du -sh ModelingPE__setup_EN.exe 207M ModelingPE__setup_EN.exe
$ wine --version wine-4.3
Regards
https://bugs.winehq.org/show_bug.cgi?id=27827
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.ptc.com/products |https://web.archive.org/web |/creo-elements-direct/model |/20190317221046/https://www |ing-express/ |.ptc.com/-/media/Files/creo | |/elements-direct/32-bit/Mod | |elingPE__setup_EN.exe
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello folks,
the vendor seems to update the installers for release 6.0 rather frequently (check hash parameter of download URI).
I've created snapshots via Internet archive to pin a specific version.
Windows 32-bit:
https://www.ptc.com/-/media/Files/creo/elements-direct/32-bit/ModelingPE__se...
->
https://web.archive.org/web/20190317221046/https://www.ptc.com/-/media/Files...
$ sha1sum ModelingPE__setup_EN.exe 6f37229e1af6b1e8bbe34d63acff9367202f49f7 ModelingPE__setup_EN.exe
$ du -sh ModelingPE__setup_EN.exe 208M ModelingPE__setup_EN.exe
---
Windows 64-bit:
https://www.ptc.com/-/media/Files/creo/elements-direct/64-bit/ModelingPE__se...
->
https://web.archive.org/web/20190317223918/https://www.ptc.com/-/media/Files...
$ sha1sum ModelingPE__setup_EN.exe 94c5a824f7c4dd74647a956f3461fd7cc846cae9 ModelingPE__setup_EN.exe
$ du -sh ModelingPE__setup_EN.exe 237M ModelingPE__setup_EN.exe
---
$ wine --version wine-4.4
Regards
https://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #16 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
https://source.winehq.org/git/wine.git/blob/123c0543e0bb4c99fbee0a568e786405...
One might think the conversion of this module to PE format in some years will solve this. It will not, because of a recent change:
https://source.winehq.org/git/wine.git/commitdiff/05b774fb48dac5f412e3490313... ("makedep: Build builtin DLLs with ucrtbase.")
which causes linkage of almost every builtin against 'ucrtbase.dll' instead of 'msvcrt.dll' unless there is an explicit import of old CRT. Afaik Windows doesn't do this, all OS/system dlls still link against 'msvcrt.dll'.
Remaining ones linking against 'msvcrt.dll' due to explicit import in current Wine 5.5 64-bit WINEPREFIX (includes app):
--- snip --- $ grep -ralZi msvcrt .wine/drive_c | xargs -r0i bash -c "echo "{}" && winedump -j import "{}" | sed -n '/msvcrt.dll/,/^$/Ip'" | grep -i -B1 msvcrt.dll
.wine/drive_c/windows/syswow64/msvcirt.dll offset 00018d1c msvcrt.dll -- .wine/drive_c/windows/syswow64/msvcrt20.dll offset 0000dc59 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/browser/components/browsercomps.dll offset 00037464 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/mozglue.dll offset 000e5814 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/plugin-container.exe offset 00022450 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/libEGL.dll offset 00305c50 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/libGLESv2.dll offset 0032dc3c msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/nss3.dll offset 001fcc28 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/nssdbm3.dll offset 0001f028 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/xul.dll offset 03b02cc8 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/gmp-clearkey/0.1/clearkey.dll offset 000e4c14 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/mozavutil.dll offset 00038014 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/lgpllibs.dll offset 00035628 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/softokn3.dll offset 0002f828 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/freebl3.dll offset 0006303c msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/nssckbi.dll offset 00066828 msvcrt.dll -- .wine/drive_c/windows/syswow64/gecko/2.47.1/wine_gecko/mozavcodec.dll offset 001aec28 msvcrt.dll -- .wine/drive_c/windows/syswow64/msvcp60.dll offset 000a9f0b msvcrt.dll -- .wine/drive_c/windows/syswow64/ntoskrnl.exe offset 000294ef msvcrt.dll -- .wine/drive_c/windows/system32/msvcirt.dll offset 00018bce msvcrt.dll -- .wine/drive_c/windows/system32/msvcrt20.dll offset 0000cb47 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/browser/components/browsercomps.dll offset 00036864 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/mozglue.dll offset 000e9814 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/plugin-container.exe offset 00020050 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/libEGL.dll offset 00341250 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/libGLESv2.dll offset 0036883c msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/nss3.dll offset 0022b828 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/nssdbm3.dll offset 00024828 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/xul.dll offset 0432f6c8 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/gmp-clearkey/0.1/clearkey.dll offset 000ec614 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/mozavutil.dll offset 0003c814 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/lgpllibs.dll offset 00034c28 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/softokn3.dll offset 00035028 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/freebl3.dll offset 0006723c msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/nssckbi.dll offset 00078a28 msvcrt.dll -- .wine/drive_c/windows/system32/gecko/2.47.1/wine_gecko/mozavcodec.dll offset 001ada28 msvcrt.dll -- .wine/drive_c/windows/system32/msvcp60.dll offset 000ae05d msvcrt.dll -- .wine/drive_c/windows/system32/ntoskrnl.exe offset 0002c636 msvcrt.dll -- .wine/drive_c/windows/winsxs/x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.42_none_deadbeef/msvcr80.dll offset 00086350 msvcrt.dll -- .wine/drive_c/Program Files (x86)/PTC/Creo Elements/Direct Modeling Express 6.0/binNT/dbghelp.dll offset 00093464 msvcrt.dll -- .wine/drive_c/Program Files (x86)/PTC/Creo Elements/Direct Modeling Express 6.0/help/installation/scripts/uninstall.exe offset 00005c28 msvcrt.dll -- .wine/drive_c/Program Files (x86)/PTC/Creo Elements/Direct Modeling Express 6.0/help/modeling_help.exe offset 00005c28 msvcrt.dll --- snip ---
For Wine's 'netapi32.dll' it's probably ok to have an explicit import of old CRT to fix this bug, although it's no longer Wine (system-wide) default CRT linkage.
$ wine --version wine-5.5
Regards
https://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #17 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
--- snip --- $ grep -ralZi msvcrt .wine/drive_c | \ xargs -r0i bash -c "echo "{}" && winedump -j import "{}" | \ sed -n '/msvcrt.dll/,/^$/Ip'" | grep -i -B1 msvcrt.dll
.wine/drive_c/windows/system32/msvcp60.dll offset 000b128d msvcrt.dll -- .wine/drive_c/windows/system32/ntoskrnl.exe offset 00034b71 msvcrt.dll -- .wine/drive_c/windows/system32/msvcirt.dll offset 0001b8b3 msvcrt.dll --
.wine/drive_c/windows/system32/msvcrt.dll Contents of .wine/drive_c/windows/system32/msvcrt.dll: 561152 bytes
Done dumping .wine/drive_c/windows/system32/msvcrt.dll -- .wine/drive_c/windows/system32/msvcrt20.dll offset 0000e5c2 msvcrt.dll -- .wine/drive_c/windows/syswow64/msvcp60.dll offset 000abe6b msvcrt.dll -- .wine/drive_c/windows/syswow64/ntoskrnl.exe offset 0002ff42 msvcrt.dll -- .wine/drive_c/windows/syswow64/msvcirt.dll offset 0001b919 msvcrt.dll --
.wine/drive_c/windows/syswow64/msvcrt.dll Contents of .wine/drive_c/windows/syswow64/msvcrt.dll: 573440 bytes
Done dumping .wine/drive_c/windows/syswow64/msvcrt.dll -- .wine/drive_c/windows/syswow64/msvcrt20.dll offset 0000f589 msvcrt.dll --- snip ---
$ wine --version wine-6.0
Regards
https://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #18 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
--- snip --- $ winedump .wine/drive_c/windows/system32/netapi32.dll Contents of .wine/drive_c/windows/system32/netapi32.dll: 118784 bytes
*** This is a Wine builtin DLL ***
File Header Machine: 8664 (AMD64) Number of Sections: 7 TimeDateStamp: 60E954BD (Sat Jul 10 10:05:17 2021) offset 128 PointerToSymbolTable: 00000000 NumberOfSymbols: 00000000 SizeOfOptionalHeader: 00F0 Characteristics: 2022 EXECUTABLE_IMAGE LARGE_ADDRESS_AWARE DLL
Optional Header (64bit) Magic 0x20B 523 linker version 14.00 size of code 0x10000 65536 size of initialized data 0xc000 49152 size of uninitialized data 0x0 0 entrypoint RVA 0x10530 66864 base of code 0x1000 4096 image base 0x180000000 section align 0x1000 4096 file align 0x1000 4096 required OS version 6.00 image version 0.00 subsystem version 6.00 Win32 Version 0x0 0 size of image 0x1d000 118784 size of headers 0x1000 4096 checksum 0x0 0 Subsystem 0x2 (Windows GUI) DLL characteristics: 0x0160 HIGH_ENTROPY_VA DYNAMIC_BASE NX_COMPAT stack reserve size 0x100000 stack commit size 0x1000 heap reserve size 0x100000 heap commit size 0x1000 loader flags 0x0 0 RVAs & sizes 0x10 16 ... --- snip ---
--- snip --- $ winedump -j import .wine/drive_c/windows/system32/netapi32.dll \ | sed -n '/msvcrt.dll/,/^$/Ip'
$ winedump -j import .wine/drive_c/windows/system32/netapi32.dll \ | sed -n '/ucrtbase.dll/,/^$/Ip'
offset 000150a8 ucrtbase.dll Hint/Name Table: 000152B8 TimeDateStamp: 00000000 (Thu Jan 1 01:00:00 1970) ForwarderChain: 00000000 First thunk RVA: 00015630 Thunk Ordn Name 00015630 57 __acrt_iob_func 00015638 119 __stdio_common_vsprintf 00015640 123 __stdio_common_vswprintf 00015648 1813 _strdup 00015650 1907 _wcsicmp 00015658 1917 _wcsnicmp 00015660 2213 free 00015668 2220 fwrite 00015670 2223 getenv 00015678 2236 isalnum 00015680 2311 memcpy 00015688 2313 memmove 00015690 2315 memset 00015698 2385 strchr 000156a0 2386 strcmp 000156a8 2388 strcpy 000156b0 2390 strcspn 000156b8 2394 strlen 000156c0 2443 wcscat 000156c8 2446 wcscmp 000156d0 2448 wcscpy 000156d8 2452 wcslen 000156e0 2470 wcstol --- snip ---
$ wine --version wine-6.12-182-g49cde099582
Regards
https://bugs.winehq.org/show_bug.cgi?id=27827
Kevin Andrews kjandrews0@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kjandrews0@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=27827
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com, | |jacek@codeweavers.com Keywords| |regression Regression SHA1| |05b774fb48dac5f412e3490313c | |6e70199013568
--- Comment #19 from Alex Henrie alexhenrie24@gmail.com --- I'm marking this bug as a regression because I can confirm that the program worked (with `winetricks dotnet40`) before commit 05b774fb48dac5f412e3490313c6e70199013568.
As always, many thanks to Focht for the analysis!
https://bugs.winehq.org/show_bug.cgi?id=27827
--- Comment #20 from Jacek Caban jacek@codeweavers.com --- Is it fixed by 2b3a300cbfee15dd6771a0a984c13591a2b36358?
https://bugs.winehq.org/show_bug.cgi?id=27827
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |2b3a300cbfee15dd6771a0a984c | |13591a2b36358
--- Comment #21 from Alex Henrie alexhenrie24@gmail.com --- Yes, that commit fixed it, thank you. I should have tried a recent version of Wine when I was looking at this in February.
https://bugs.winehq.org/show_bug.cgi?id=27827
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.10.