https://bugs.winehq.org/show_bug.cgi?id=37844
Bug ID: 37844 Summary: PTC Mathcad Prime 3.0 Web installer crashes ('Win32_LogicalDisk' WMI class needs to provide 'VolumeName' property) Product: Wine Version: 1.7.33 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: wmi&wbemprox Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as the summary says.
Beware: The process to retrieve bootstrapper/application info from Internet is flaky. Half of the time the installer just hangs, displaying: "Please wait while we retrieve available application information". Crappy app multi-thread habits/handling maybe (requests are done on separate threads).
Anyway, in case it managed to retrieve the info it crashes.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi,+wbemprox wine ./pim_installmgr_mathcad.exe
log.txt 2>&1
... 002a:Call KERNEL32.CreateProcessW(00000000,0033e6f8 L"setup.exe -mathcad -applications mathcad.xml:mathcadpdsi.xml:qualityagent.xml",00000000,00000000,00000000,00000410,00000000,00146d28 L"C:\users\focht\Temp\7ZipSfx.002",0033ddb0,0033dda0) ret=7e79cfa7 ... 002e:Call KERNEL32.__wine_kernel_init() ret=7bc5a88d 002a:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e79cfa7 ... 002e:Call ole32.CoInitializeEx(00000000,00000000) ret=005fd68a ... 002e:Ret ole32.CoInitializeEx() retval=00000000 ret=005fd68a 002e:Call ole32.CoInitializeSecurity(00000000,ffffffff,00000000,00000000,00000000,00000003,00000000,00000000,00000000) ret=005fd6e3 002e:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub! 002e:Ret ole32.CoInitializeSecurity() retval=00000000 ret=005fd6e3 002e:Call ole32.CoCreateInstance(0061de58,00000000,00000001,0061dd88,030989d4) ret=005fe895 ... 002e:trace:wbemprox:WbemLocator_create returning iface 0x1db79d8 002e:trace:wbemprox:wbem_locator_QueryInterface 0x1db79d8 {dc12a687-737f-11cf-884d-00aa004b2e24} 0x30989d4 002e:Ret ole32.CoCreateInstance() retval=00000000 ret=005fe895 ... 002e:trace:wbemprox:wbem_locator_ConnectServer 0x1db79d8, L"ROOT\CIMV2", (null), (null), (null), 0x00000000, (null), (nil), 0x30989d0) ... 002e:trace:wbemprox:wbem_services_ExecQuery 0x1dc17e8, L"WQL", L"SELECT * FROM Win32_LogicalDisk WHERE DriveType = 3", 0x00000030, (nil), 0x30989c8 ... 002e:trace:wbemprox:parse_query wql_parse returned 0 ... 002e:Call KERNEL32.GetVolumeInformationW(00329012 L"C:\",00000000,00000000,00328fcc,00000000,00000000,00000000,00000000) ret=7cb94475 002e:Ret KERNEL32.GetVolumeInformationW() retval=00000001 ret=7cb94475 ... 002e:trace:wbemprox:fill_logicaldisk created 1 rows ... 002e:trace:wbemprox:EnumWbemClassObject_create 0x30989c8 ... 002e:trace:wbemprox:EnumWbemClassObject_create returning iface 0x1d942e0 ... 002e:trace:wbemprox:enum_class_object_Next 0x1d942e0, -1, 1, 0x30989cc, 0x329190 002e:trace:wbemprox:create_class_object L"Win32_LogicalDisk", 0x30989cc ... 002e:trace:wbemprox:create_class_object returning iface 0x1d859b0 002e:trace:wbemprox:class_object_Get 0x1d859b0, L"DeviceID", 00000000, 0x32917c, (nil), (nil) 002e:Call oleaut32.SysAllocString(01dbc4d0 L"C:") ret=7cb9df0c 002e:Ret oleaut32.SysAllocString() retval=001643dc ret=7cb9df0c ... 002e:trace:wbemprox:class_object_Get 0x1d859b0, L"VolumeName", 00000000, 0x32917c, (nil), (nil) ... 002e:trace:wbemprox:enum_class_object_Next 0x1d942e0, -1, 1, 0x30989cc, 0x329190 002e:trace:wbemprox:class_object_Release destroying 0x1d859b0 ... 002e:Ret msvcr100.malloc() retval=00516560 ret=0080b56a 002e:Call msvcr100.memset(00516568,00000000,00000008) ret=0080b5da 002e:Ret msvcr100.memset() retval=00516568 ret=0080b5da 002e:Call msvcr100.memcpy(00516568,00328d60,00000006) ret=006affe4 002e:Ret msvcr100.memcpy() retval=00516568 ret=006affe4 002e:trace:seh:raise_exception code=c0000005 flags=0 addr=0x10136efc ip=10136efc tid=002e 002e:trace:seh:raise_exception info[0]=00000000 002e:trace:seh:raise_exception info[1]=00000000 002e:trace:seh:raise_exception eax=00000000 ebx=00000000 ecx=00000000 edx=100d1c50 esi=030989c0 edi=030989c0 002e:trace:seh:raise_exception ebp=0032929c esp=003291d8 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210202 002e:trace:seh:call_stack_handlers calling handler at 0x10163f86 code=c0000005 flags=0 002e:trace:seh:call_stack_handlers handler at 0x10163f86 returned 1 ... --- snip ---
MSDN: http://msdn.microsoft.com/en-us/library/aa394173%28v=vs.85%29.aspx
Adding the 'VolumeName' property lets the app setup wizard go to next step (application selection).
'GetVolumeInformationW' (+helper) does the job.
Source: http://source.winehq.org/git/wine.git/blob/192e1c0e7ff1cb838bdf2e111fd4e97a4...
$ sha1sum pim_installmgr_mathcad.exe d05daf8d3ab70ad10da076bce28411ee7d643a58 pim_installmgr_mathcad.exe
$ du -sh pim_installmgr_mathcad.exe 18M pim_installmgr_mathcad.exe
$ wine --version wine-1.7.33-117-g6bab173
Regards