https://bugs.winehq.org/show_bug.cgi?id=39463
Bug ID: 39463 Summary: Sanitas HealthCoach 1.4 (.NET 4.0 app) installer crashes in VBScript custom action Product: Wine Version: 1.7.53 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: vbscript Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
reported here: https://forum.winehq.org/viewtopic.php?f=8&t=25367
Prerequisite: 'winetricks -q dotnet40' (I don't use Wine-Mono).
The bootstrapper installer can be skipped.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi,+vbscript wine msiexec -i ./HealthCoach.msi
log.txt 2>&1
... 0034:Starting thread proc 0x7ec93b28 (arg=0x1d7874) 0034:trace:msi:ScriptThread custom action (34) started 0034:trace:msi:ACTION_CallScript function (null), script L"On Error Resume Next\nConst HKEY_LOCAL_MACHINE = &H80000002\nstrComputer = "."\nSet oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv") \nstrKeyPath = "HARDWARE\DESCRIPTION\System\CentralProcessor\0"\nstrValueName = "Identifier"\n"... ... 0034:trace:vbscript:interp_string 0034:Call oleaut32.SysAllocString(03e43ab0 L"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall") ret=f6d92d40 0034:Ret oleaut32.SysAllocString() retval=03e4f5bc ret=f6d92d40 0034:trace:vbscript:interp_assign_ident L"strKeyPath" ... 0034:Call oleaut32.SysAllocString(03e43b3c L"HealthCoach") ret=f6d92d40 0034:Ret oleaut32.SysAllocString() retval=03e41a34 ret=f6d92d40 0034:trace:vbscript:interp_equal 0034:trace:vbscript:var_cmp 0x3e4fd50 {VT_BSTR: L""} 0x3e41948 {VT_BSTR: L"HealthCoach"} 0034:Call oleaut32.VarCmp(03e4fd50,03e41948,00000000,00000000) ret=f6d935e6 0034:Ret oleaut32.VarCmp() retval=00000000 ret=f6d935e6 0034:Call oleaut32.VariantClear(03e41948) ret=f6d8fed5 0034:Ret oleaut32.VariantClear() retval=00000000 ret=f6d8fed5 0034:trace:vbscript:interp_jmp_false 108 0034:trace:vbscript:interp_enumnext 0034:fixme:vbscript:interp_enumnext uninitialized 0034:warn:vbscript:exec_script Failed 80004005 in resume next mode 0034:trace:vbscript:exec_script unwind jmp 441 stack_off 16 0034:trace:seh:raise_exception code=c0000005 flags=0 addr=0xf6d94b46 ip=f6d94b46 tid=0034 0034:trace:seh:raise_exception info[0]=00000000 0034:trace:seh:raise_exception info[1]=f8bb0c94 0034:trace:seh:raise_exception eax=00780045 ebx=0054e6a0 ecx=7ed732b9 edx=03e41a18 esi=00000000 edi=0054e708 0034:trace:seh:raise_exception ebp=0054e748 esp=0054e670 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210206 0034:trace:seh:call_vectored_handlers calling handler at 0x791f5a7c code=c0000005 flags=0 --- snip ---
The VBScript code from 'CustomAction' table, extracted with ORCA:
--- snip --- Action Type Source Target ExtendedType s72 i2 S64 S255 I4 CustomAction Action
SetInstallationPathToPreviousInstalllocation 38 On Error Resume Next Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "\root\default:StdRegProv") strKeyPath = "HARDWARE\DESCRIPTION\System\CentralProcessor\0" strValueName = "Identifier" oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue If (instr(strValue,"64")) Then strKeyPath = "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" End If If (instr(strValue,"x86")) Then strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" End If
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys For Each subkey In arrSubKeys strValueName = "DisplayName" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & CStr(subkey),strValueName,strValue If IsEmpty(strValue) or IsNull(strValue) Then strValue = "" End If If strValue = "HealthCoach" Then strValueName = "InstallLocation" oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath & "\" & CStr(subkey),strValueName,strValue Session.Property("INSTALLDIR") = strValue Exit For End If Next --- snip ---
'winetricks -q wsh57' works around (only 'vbscript' override needed here).
After successful installation the app requires more prerequisites. I'm documenting them here to avoid end users reporting dupes.
The Application conveniently logs various things.
--- snip --- $ ls -1sh .wine/drive_c/users/focht/Local\ Settings/Application\ Data/HealthCoach/Logs/ total 24K 4.0K ApplicationErrorLog.txt 16K Data Migration.txt 4.0K Settings initialization.txt --- snip ---
--- snip --- 16/10/2015 21:46:45:083 : The .Net Framework OleDb Data Provider requires Microsoft Data Access Components(MDAC) version 2.6 or later. Version was found currently installed. 16/10/2015 21:46:45:110 : at System.Data.Common.ADP.CheckVersionMDAC(Boolean ifodbcelseoledb) at System.Data.OleDb.OleDbConnectionInternal.VersionCheck() at System.Data.OleDb.OleDbConnectionInternal.GetObjectPool() at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OleDb.OleDbConnection.Open() at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) at Sanitas.HealthCoach.Data.ConnectionClass.ExecuteQuery(String strQuery) at Sanitas.HealthCoach.Data.SettingsRepository.GetApplicationVersion() --- snip ---
-> 'winetricks -q mdac27'
--- snip --- 16/10/2015 21:48:15:717 : The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine. 16/10/2015 21:48:15:742 : at System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.OleDb.OleDbConnection.Open() at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) at Sanitas.HealthCoach.Data.ConnectionClass.ExecuteQuery(String strQuery) at Sanitas.HealthCoach.Data.SettingsRepository.GetApplicationVersion() --- snip ---
-> 'winetricks -q jet40'
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/HealthCoach
$ wine ./HealthCoach.exe ... err:eventlog:ReportEventW L"Application: HealthCoach.exe\nFramework Version: v4.0.30319\nDescription: The application requested process termination through System.Environment.FailFast(string message).\nMessage: Unrecoverable system error.\nStack:\n at System.Environment.FailFast(System.String)\n at MS.Internal.Invariant.Fai"... --- snip ---
-> 'winetricks -q corefonts' (bug 32323)
With those in place, the app works fine.
$ sha1sum HealthCoach.exe 19557cf541ddc171db1d1bbaffe11fcf566004a5 HealthCoach.exe
$ du -sh HealthCoach.exe 84M HealthCoach.exe
$ wine --version wine-1.7.53
Regards
https://bugs.winehq.org/show_bug.cgi?id=39463
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |https://connect.sanitas-onl | |ine.de/Download/Common/Soft | |ware.aspx
https://bugs.winehq.org/show_bug.cgi?id=39463
--- Comment #1 from Anastasius Focht focht@gmx.net --- Created attachment 63911 --> https://bugs.winehq.org/attachment.cgi?id=63911 VBScriptlet for reproduction
Hello folks,
revisiting, still present.
Attaching VBscript for reproduction as the original v1.4 installer/download seems to be gone.
--- snip --- $ WINEDEBUG=+seh,+relay,+vbscript,+wshom,+wbemprox wine cscript //nologo test_bug#39463.vbs >>log.txt 2>&1 ... 002a:fixme:wbemdisp:object_QueryInterface interface {a6ef9860-c720-11d0-9337-00a0c90dcaa9} not implemented 002a:trace:vbscript:disp_call using IDispatch 002a:fixme:wbemdisp:object_Invoke flags 1 not supported 002a:warn:vbscript:exec_script Failed 800a01bd in resume next mode 002a:trace:vbscript:exec_script unwind jmp 28 stack_off 0 ... 002a:trace:vbscript:DispatchEx_QueryInterface (0x162c10)->(IID_IDispatchEx 0x33fa20) 002a:trace:vbscript:DispatchEx_AddRef (0x162c10) ref=2 002a:trace:vbscript:DispatchEx_InvokeEx (0x162c10)->(93 409 3 0x33facc 0x33fb30 0x33fa00 (nil)) 002a:trace:vbscript:Global_InStr 002a:fixme:vbscript:Global_InStr Unsupported str1 type 0x33f828 {VT_EMPTY} 002a:trace:vbscript:DispatchEx_Release (0x162c10) ref=1 002a:warn:vbscript:exec_script Failed 800a01bd in resume next mode 002a:trace:vbscript:exec_script unwind jmp 33 stack_off 0 002a:Call oleaut32.VariantClear(00163610) ret=f7835d74 002a:Ret oleaut32.VariantClear() retval=00000000 ret=f7835d74 002a:Call oleaut32.VariantClear(00163600) ret=f7835d74 002a:Call ntdll.RtlSizeHeap(00110000,00000000,001644a0) ret=7daa7404 002a:Ret ntdll.RtlSizeHeap() retval=00000010 ret=7daa7404 002a:Ret oleaut32.VariantClear() retval=00000000 ret=f7835d74 002a:trace:vbscript:interp_string 002a:Call oleaut32.SysAllocString(00165710 L"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall") ret=f78387f5 ... 002a:trace:vbscript:interp_equal 002a:trace:vbscript:var_cmp 0x16ac08 {VT_BSTR: L""} 0x163620 {VT_BSTR: L"HealthCoach"} 002a:Call oleaut32.VarCmp(0016ac08,00163620,00000409,00000000) ret=f7839019 002a:Ret oleaut32.VarCmp() retval=00000000 ret=f7839019 002a:Call oleaut32.VariantClear(00163620) ret=f7835df4 002a:Call ntdll.RtlSizeHeap(00110000,00000000,00185c70) ret=7daa7404 002a:Ret ntdll.RtlSizeHeap() retval=00000020 ret=7daa7404 002a:Ret oleaut32.VariantClear() retval=00000000 ret=f7835df4 002a:trace:vbscript:interp_jmp_false 108 002a:trace:vbscript:interp_enumnext 002a:fixme:vbscript:interp_enumnext uninitialized 002a:warn:vbscript:exec_script Failed 80004005 in resume next mode 002a:trace:vbscript:exec_script unwind jmp 0 stack_off 1519464 ... 002a:trace:seh:raise_exception code=c0000005 flags=0 addr=0x3f3f3f3f ip=3f3f3f3f tid=002a 002a:trace:seh:raise_exception info[0]=00000008 002a:trace:seh:raise_exception info[1]=3f3f3f3f 002a:trace:seh:raise_exception eax=3f3f3f3f ebx=0033fd00 ecx=7bd1c768 edx=0033fb80 esi=00000000 edi=0033fbe8 002a:trace:seh:raise_exception ebp=0033fc28 esp=0033fb5c cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210212 002a:trace:seh:call_stack_handlers calling handler at 0x7b495dc2 code=c0000005 flags=0 wine: Unhandled page fault on execute access to 0x3f3f3f3f at address 0x3f3f3f3f (thread 002a), starting debugger... 002a:trace:seh:start_debugger Starting debugger "winedbg --auto 41 112" 002a:trace:seh:call_stack_handlers handler at 0x7b495dc2 returned 1 Unhandled exception: page fault on execute access to 0x3f3f3f3f in 32-bit code (0x3f3f3f3f). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:3f3f3f3f ESP:0033fb5c EBP:0033fc28 EFLAGS:00210212( R- -- I -A- - ) EAX:3f3f3f3f EBX:0033fd00 ECX:7bd1c768 EDX:0033fb80 ESI:00000000 EDI:0033fbe8 ... Backtrace: =>0 0x3f3f3f3f (0x0033fc28) 1 0xf784bf89 exec_global_code+0x42() [/home/focht/projects/wine/mainline-src/dlls/vbscript/vbscript.c:86] in vbscript (0x0033fc68) 2 0xf784bfde exec_queued_code+0x2e() [/home/focht/projects/wine/mainline-src/dlls/vbscript/vbscript.c:98] in vbscript (0x0033fc98) 3 0xf784cd29 VBScript_SetScriptState+0x11f() [/home/focht/projects/wine/mainline-src/dlls/vbscript/vbscript.c:387] in vbscript (0x0033fce8) 4 0x7eff5024 run_script+0x14a() [/home/focht/projects/wine/mainline-build-i686/programs/cscript/../../include/activscp.h:968] in cscript (0x0033fd68) 5 0x7eff548e wWinMain+0x2e0() [/home/focht/projects/wine/mainline-src/programs/cscript/../wscript/main.c:468] in cscript (0x0033fdf8) 6 0x7eff56a8 wmain+0xed() [/home/focht/projects/wine/mainline-src/dlls/winecrt0/exe_wmain.c:51] in cscript (0x0033fe78) 7 0x7eff559e __wine_spec_exe_wentry+0x56() [/home/focht/projects/wine/mainline-src/dlls/winecrt0/exe_wentry.c:36] in cscript (0x0033fea8) 8 0x7b472b3a call_process_entry+0x11() in kernel32 (0x0033fec8) 9 0x7b472c73 start_process+0x12c() [/home/focht/projects/wine/mainline-src/dlls/kernel32/process.c:1256] in kernel32 (0x0033ffd8) 10 0x7b472b46 start_process_wrapper+0x9() in kernel32 (0x0033ffec) 0x3f3f3f3f: addb %al,0x0(%eax) Modules: Module Address Debug info Name (114 modules) ... ELF 7b400000-7b80b000 Dwarf kernel32<elf> -PE 7b420000-7b80b000 \ kernel32 ELF 7bc00000-7bd1d000 Deferred ntdll<elf> -PE 7bc30000-7bd1d000 \ ntdll ELF 7c000000-7c004000 Deferred <wine-loader> ... ELF f7d4d000-f7f0a000 Dwarf libwine.so.1 ELF f7f0c000-f7f35000 Deferred ld-linux.so.2 ELF f7f38000-f7f39000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) ... 00000029 (D) C:\windows\system32\cscript.exe 0000002a 0 <== --- snip ---
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/wbemdisp/locator.c#l7...
$ wine --version wine-4.4
Regards
https://bugs.winehq.org/show_bug.cgi?id=39463
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|vbscript |wmi&wbemprox
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present. Changing component to WMI (wbemdisp).
--- snip --- Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "\root\default:StdRegProv") strKeyPath = "HARDWARE\DESCRIPTION\System\CentralProcessor\0" strValueName = "Identifier" oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue --- snip ---
Calling 'GetStringValue' method of 'StdRegProv' class:
--- snip --- ... 0030:trace:vbscript:do_icall L"GetObject" 1 0030:trace:vbscript:disp_call using IDispatch 0030:trace:vbscript:Builtin_Invoke (000000000006F6A0)->(41 {00000000-0000-0000-0000-000000000000} 1033 3 000000000032F540 000000000032F6C0 000000000032F470 000000000032F464) 0030:trace:vbscript:Global_GetObject 000000000032F310 {VT_BSTR: L"winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv"} 0030:fixme:wbemdisp:factory_QueryInterface interface {0000011a-0000-0000-c000-000000000046} not implemented 0030:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80004002 for dll L"C:\windows\system32\wbem\wbemdisp.dll" 0030:err:ole:create_server class {172bddf8-ceea-11d1-8b05-00600806d9b6} not registered 0030:fixme:ole:CoGetClassObject CLSCTX_REMOTE_SERVER not supported 0030:err:ole:CoGetClassObject no class object {172bddf8-ceea-11d1-8b05-00600806d9b6} could be created for context 0x15 0030:fixme:wbemdisp:WinMGMTS_ParseDisplayName ignoring security settings 0030:fixme:wbemdisp:object_QueryInterface interface {fc4801a3-2ba9-11cf-a229-00aa003d7352} not implemented 0030:trace:vbscript:interp_set_ident L"oReg" 0 0030:trace:vbscript:assign_ident creating variable L"oReg" 0030:trace:vbscript:interp_string 0030:trace:vbscript:interp_assign_ident L"strKeyPath" 0030:trace:vbscript:assign_ident creating variable L"strKeyPath" 0030:trace:vbscript:interp_string 0030:trace:vbscript:interp_assign_ident L"strValueName" 0030:trace:vbscript:assign_ident creating variable L"strValueName" 0030:trace:vbscript:interp_int -2147483646 0030:trace:vbscript:interp_icall 0030:trace:vbscript:do_icall L"strKeyPath" 0 0030:trace:vbscript:interp_icall 0030:trace:vbscript:do_icall L"strValueName" 0 0030:trace:vbscript:interp_icall 0030:trace:vbscript:do_icall L"strValue" 0 0030:trace:vbscript:interp_icall 0030:trace:vbscript:do_icall L"oReg" 0 0030:trace:vbscript:interp_mcallv ... --- snip ---
flags = DISPATCH_METHOD
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/wbemdisp/locator.c#l7...
--- snip --- 745 static HRESULT WINAPI object_Invoke( 746 ISWbemObject *iface, 747 DISPID member, 748 REFIID riid, 749 LCID lcid, 750 WORD flags, 751 DISPPARAMS *params, 752 VARIANT *result, 753 EXCEPINFO *excep_info, 754 UINT *arg_err ) 755 { 756 struct object *object = impl_from_ISWbemObject( iface ); 757 BSTR name; 758 ITypeInfo *typeinfo; 759 HRESULT hr; 760 761 TRACE( "%p, %x, %s, %u, %x, %p, %p, %p, %p\n", object, member, debugstr_guid(riid), 762 lcid, flags, params, result, excep_info, arg_err ); 763 764 if (member <= DISPID_BASE_METHOD) 765 { 766 hr = get_typeinfo( ISWbemObject_tid, &typeinfo ); 767 if (SUCCEEDED(hr)) 768 { 769 hr = ITypeInfo_Invoke( typeinfo, &object->ISWbemObject_iface, member, flags, 770 params, result, excep_info, arg_err ); 771 ITypeInfo_Release( typeinfo ); 772 } 773 return hr; 774 } 775 776 if (flags != (DISPATCH_METHOD|DISPATCH_PROPERTYGET)) 777 { 778 FIXME( "flags %x not supported\n", flags ); 779 return E_NOTIMPL; 780 } 781 if (!(name = get_member_name( object, member ))) 782 return DISP_E_MEMBERNOTFOUND; 783 784 memset( params, 0, sizeof(*params) ); 785 return IWbemClassObject_Get( object->object, name, 0, result, NULL, NULL ); 786 } --- snip ---
$ wine --version wine-4.20
Regards
https://bugs.winehq.org/show_bug.cgi?id=39463
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Sanitas HealthCoach 1.4 |Sanitas HealthCoach 1.x/2.x |(.NET 4.0 app) installer |(.NET 4.0 app) installer |crashes in VBScript custom |crashes or hangs in |action |VBScript custom action
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Health Coach 2.2 installer doesn't crash but simply loops endlessly (same root cause). The attached VB scriptlet from my comment #1 still crashes.
$ sha1sum HealthCoach.exe 5c62cfa68b06abd735cd362637138b571b5d11b2 HealthCoach.exe
$ du -sh HealthCoach.exe 122M HealthCoach.exe
$ wine --version wine-5.3
Regards
https://bugs.winehq.org/show_bug.cgi?id=39463
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet URL|https://connect.sanitas-onl |https://archive.org/details |ine.de/Download/Common/Soft |/sanitas-health-coach-2.2 |ware.aspx |
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Removing the original URL because the download is only available with registration. But even then the website uses ASP.Net content-disposition attachment trickery to prevent direct links. I've created a manual upload to Internet Archive:
https://archive.org/details/sanitas-health-coach-2.2
https://www.virustotal.com/gui/file/bf0d33dde84b4c787acf6facba1296641cade260...
$ wine --version wine-6.4-180-g41df83c50e1
Regards
https://bugs.winehq.org/show_bug.cgi?id=39463
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |leslie_alistair@hotmail.com Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/wbemdisp-ISWbemO | |bject-Invoke Status|NEW |STAGED
https://bugs.winehq.org/show_bug.cgi?id=39463
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com
--- Comment #5 from Robert Wilhelm sloper42@yahoo.com --- *** Bug 51120 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=39463
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Sanitas HealthCoach 1.x/2.x |Multiple installer (Sanitas |(.NET 4.0 app) installer |HealthCoach 1.x/2.x (.NET |crashes or hangs in |4.0 app), MCC DAQ) crashes |VBScript custom action |or hangs in VBScript custom | |action CC| |sloper42@yahoo.com
https://bugs.winehq.org/show_bug.cgi?id=39463
--- Comment #6 from Robert Wilhelm sloper42@yahoo.com --- Created attachment 70666 --> https://bugs.winehq.org/attachment.cgi?id=70666 small testcase for vbscript crash
https://bugs.winehq.org/show_bug.cgi?id=39463
--- Comment #7 from Robert Wilhelm sloper42@yahoo.com --- Trace of vbscript crash. There is no catch after second enumnext, we crash searching for it.
0f4:trace:vbscript:VBScriptParse_ParseScriptText (0048F988)->(L"On Error Resume Next\nFor each i in empty\nNext\n" (null) 00000000 (null) 1 1 82 00000000 00000000) 00f4:trace:vbscript_disas:dump_code 1: errmode 1 00f4:trace:vbscript_disas:dump_code 2: empty 00f4:trace:vbscript_disas:dump_code 3: empty 00f4:trace:vbscript_disas:dump_code 4: newenum 00f4:trace:vbscript_disas:dump_code 5: enumnext 9 L"i" 00f4:trace:vbscript_disas:dump_code 6: catch 6 1 00f4:trace:vbscript_disas:dump_code 7: enumnext 9 L"i" 00f4:trace:vbscript_disas:dump_code 8: jmp 7 00f4:trace:vbscript_disas:dump_code 9: ret 00f4:trace:vbscript:VBScript_SetScriptState (0048F988)->(1) 00f4:trace:vbscript:exec_script (null)() 00f4:trace:vbscript:interp_errmode 1 00f4:trace:vbscript:interp_empty 00f4:trace:vbscript:interp_empty 00f4:trace:vbscript:interp_newenum 00f4:fixme:vbscript:interp_newenum Unsupported for 00492FB0 {VT_EMPTY} 00f4:warn:vbscript:exec_script Failed 800a01bd in resume next mode 00f4:trace:vbscript:exec_script unwind jmp 6 stack_off 1 00f4:trace:vbscript:interp_enumnext 00f4:fixme:vbscript:interp_enumnext uninitialized 00f4:warn:vbscript:exec_script Failed 80004005 in resume next mode wine: Unhandled page fault on read access to 004C0000 at address 00E75E25 (thread 00f4), starting debugger...
https://bugs.winehq.org/show_bug.cgi?id=39463
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- Maybe interp_newenum could return some default empty collection first.
https://bugs.winehq.org/show_bug.cgi?id=39463
--- Comment #9 from Robert Wilhelm sloper42@yahoo.com --- Created attachment 70668 --> https://bugs.winehq.org/attachment.cgi?id=70668 fix vbscript crash
Adding catch fixes the vbscript crash. Does probably not help much because main issue - we do not get registry information in right format - still remains.
01d8:trace:vbscript:VBScriptParse_ParseScriptText (0048FB30)->(L"On Error Resume Next\nFor each i in empty\nNext\n" (null) 00000000 (null) 1 1 82 00000000 00000000) 01d8:trace:vbscript_disas:dump_code 1: errmode 1 01d8:trace:vbscript_disas:dump_code 2: empty 01d8:trace:vbscript_disas:dump_code 3: empty 01d8:trace:vbscript_disas:dump_code 4: newenum 01d8:trace:vbscript_disas:dump_code 5: enumnext 9 L"i" 01d8:trace:vbscript_disas:dump_code 6: catch 6 1 01d8:trace:vbscript_disas:dump_code 7: enumnext 9 L"i" 01d8:trace:vbscript_disas:dump_code 8: jmp 7 01d8:trace:vbscript_disas:dump_code 9: catch 9 0 01d8:trace:vbscript_disas:dump_code 10: ret 01d8:trace:vbscript:VBScript_SetScriptState (0048FB30)->(1) 01d8:trace:vbscript:exec_script (null)() 01d8:trace:vbscript:interp_errmode 1 01d8:trace:vbscript:interp_empty 01d8:trace:vbscript:interp_empty 01d8:trace:vbscript:interp_newenum 01d8:fixme:vbscript:interp_newenum Unsupported for 00493158 {VT_EMPTY} 01d8:warn:vbscript:exec_script Failed 800a01bd in resume next mode 01d8:trace:vbscript:exec_script unwind jmp 6 stack_off 1 01d8:trace:vbscript:interp_enumnext 01d8:fixme:vbscript:interp_enumnext uninitialized 01d8:warn:vbscript:exec_script Failed 80004005 in resume next mode 01d8:trace:vbscript:exec_script unwind jmp 9 stack_off 0 01d8:trace:vbscript:interp_ret
https://bugs.winehq.org/show_bug.cgi?id=39463
--- Comment #10 from Robert Wilhelm sloper42@yahoo.com --- vbscript crash is now fixed after https://source.winehq.org/git/wine.git/commit/56010d0035b316d0906034237627e6...
Missing DISPATCH support wbemdisp/locator.c as addressed in staged patchset still remains in vanilla wine.