https://bugs.winehq.org/show_bug.cgi?id=38055
Bug ID: 38055 Summary: The Weather Channel for Windows Desktop 2.1.x (.NET 4.0 app) installer crashes Product: Wine Version: 1.7.36 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: vbscript Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
split off from bug 36544 (which was about old/different installer).
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi,+vbscript,+ole,+variant,+msxml wine ./twcsetup.exe >>log.txt 2>&1 ... 002a:Call KERNEL32.CreateProcessW(00000000,0015eddc L"MSIEXEC.EXE /i "C:\users\focht\Local Settings\Application Data\Downloaded Installations\{AC08ECED-D6F8-404E-93A0-F037F0623C92}\The Weather Channel App.msi" SETUPEXEDIR="Z:\home\focht\Downloads" SETUPEXENAME="twcsetup.exe"",00000000,00000000,00000000,00000020,00000000,00000000,0033c240,0033c2ac) ret=004598a9 ... 002c:Call KERNEL32.__wine_kernel_init() ret=7bc5a89d 002a:Ret KERNEL32.CreateProcessW() retval=00000001 ret=004598a9 ... 002c:trace:msi:ACTION_CustomAction Handling custom action L"StartMetric" (c6 L"NewBinary19" L"StartMetric") ... 0034:trace:msi:ACTION_CallScript function L"StartMetric", script L"Const HKEY_CURRENT_USER = &H80000001\r\n\r\nconst CobrandRegKey = "HKCU\SOFTWARE\The Weather Channel\Cobrand"\r\n\r\nConst KeyPath = "SOFTWARE\The Weather Channel"\r\n\r\nConst RunPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"\r\n\r\nConst SubKey = "Cobrand"\r\n\r\nConst JustI"... ... 0034:trace:ole:ITypeInfo_fnGetIDsOfNames -- 0x00000000 0034:trace:vbscript:DispatchEx_QueryInterface (0x1f3ce8)->(IID_IDispatchEx 0x56e4d0) 0034:trace:vbscript:DispatchEx_AddRef (0x1f3ce8) ref=2 0034:trace:vbscript:DispatchEx_InvokeEx (0x1f3ce8)->(af 0 3 0x56e58c 0x56e5f0 0x56e4b0 (nil)) 0034:trace:vbscript:Global_CreateObject (0x56e2d8 {VT_BSTR: L"MSXML2.XMLHTTP.3.0"}) 0034:Call ole32.CLSIDFromProgID(00b49e6c L"MSXML2.XMLHTTP.3.0",0056e1a8) ret=f674bf6b ... 0034:trace:ole:apartment_getclassobject added new loaded dll L"C:\windows\system32\msxml3.dll" 0034:trace:ole:apartment_getclassobject calling DllGetClassObject 0xf640c940 0034:Call msxml3.DllGetClassObject(0056e1a8,f6777254,0056e1c8) ret=7ea7ef05 0034:trace:msxml:DllGetClassObject {f5078f35-c551-11d3-89b9-0000f81fe221} {00000001-0000-0000-c000-000000000046} 0x56e1c8 0034:Ret msxml3.DllGetClassObject() retval=00000000 ret=7ea7ef05 ... 0034:Ret ole32.CoGetClassObject() retval=00000000 ret=f674c0e3 0034:fixme:msxml:ClassFactory_QueryInterface interface {342d1ea0-ae25-11d1-89c5-006008c3fbfc} not implemented 0034:trace:msxml:ClassFactory_CreateInstance (nil) {00000000-0000-0000-c000-000000000046} 0x56e1bc 0034:trace:msxml:XMLHTTPRequest_create (0x56e13c) 0034:Call ntdll.RtlAllocateHeap(00110000,00000000,00000064) ret=f64317ed 0034:Ret ntdll.RtlAllocateHeap() retval=00b467b0 ret=f64317ed 0034:trace:msxml:XMLHTTPRequest_create returning iface 0xb467b0 0034:trace:msxml:XMLHTTPRequest_QueryInterface (0xb467b0)->({00000000-0000-0000-c000-000000000046} 0x56e1bc) 0034:trace:msxml:XMLHTTPRequest_AddRef (0xb467b0)->(2) 0034:trace:msxml:XMLHTTPRequest_Release (0xb467b0)->(1) 0034:trace:msxml:XMLHTTPRequest_QueryInterface (0xb467b0)->({fc4801a3-2ba9-11cf-a229-00aa003d7352} 0x56e158) 0034:trace:msxml:XMLHTTPRequest_AddRef (0xb467b0)->(2) 0034:trace:msi:MsiActiveScriptSite_QueryInterface (0xb455c8)->({6d5140c1-7436-11ce-8034-00aa006009fa}, 0x56e110) 0034:err:vbscript:create_ax_site Could not get IServiceProvider iface: 80004002 0034:trace:seh:raise_exception code=c0000005 flags=0 addr=0xf674bf09 ip=f674bf09 tid=0034 0034:trace:seh:raise_exception info[0]=00000000 0034:trace:seh:raise_exception info[1]=00000000 0034:trace:seh:raise_exception eax=00000000 ebx=f6785000 ecx=00000000 edx=0056ef8c esi=f6783500 edi=0056e3a0 0034:trace:seh:raise_exception ebp=0056e178 esp=0056e140 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010246 0034:trace:seh:call_stack_handlers calling handler at 0x7bc9ecab code=c0000005 flags=0 --- snip ---
I've extracted the relevant VBScript function from the MSI custom action:
--- snip --- Function StartMetric() On Error Resume Next Dim oXMLDoc, oXMLHTTP, path path = Left(Session.Property("INSTALLDIR"), Len(Session.Property("INSTALLDIR"))-1) If Session.Property("SOURCE") = "" Then Session.Property("SOURCE") = "Weather" End If CreateRegistryKey() CreateSubKeyAndValue(Session.Property("SOURCE")) CreateJustInstalledKey("true") Session.Property("LaunchApp") = "cmd.exe /c cd " + path +" & TWC.Win7.exe " + Session.Property("SOURCE") Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP.3.0") Set oXMLDoc = CreateObject("MSXML2.DOMDocument") call oXMLHTTP.open("POST",InstallMetricsURL(Session.Property("SOURCE")),False) call oXMLHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded") call oXMLHTTP.send() End Function --- snip ---
Debugger session:
--- snip --- Backtrace: =>0 0xf70e1f09 set_object_site+0x8e(ctx=0x12a910, obj=0x135a98) [/home/focht/projects/wine/wine.repo/src/dlls/vbscript/global.c:216] in vbscript (0x0033f418)
1 0xf70e2325 create_object+0x3ea(ctx=0x12a910, progid="MSXML2.XMLHTTP.3.0") [/home/focht/projects/wine/wine.repo/src/dlls/vbscript/global.c:283] in vbscript (0x0033f4f8)
2 0xf70e6333 Global_CreateObject+0xe3(This=0x123c68, arg=0x33f578, args_cnt=0x1, res=0x33f890) [/home/focht/projects/wine/wine.repo/src/dlls/vbscript/global.c:1580] in vbscript (0x0033f548)
3 0xf70f743b invoke_builtin+0x491(This=0x123c68, prop=0xf711a130, flags=0x3, dp=0x33f82c, res=0x33f890) [/home/focht/projects/wine/wine.repo/src/dlls/vbscript/vbdisp.c:220] in vbscript (0x0033f658)
4 0xf70f84da DispatchEx_InvokeEx+0x66b(iface=0x123c68, id=0xaf, lcid=0x409, wFlags=0x3, pdp=0x33f82c, pvarRes=0x33f890, pei=0x33f750, pspCaller=(nil)) [/home/focht/projects/wine/wine.repo/src/dlls/vbscript/vbdisp.c:451] in vbscript (0x0033f708) ... --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/7a4860104772597b70444238b82887bd0...
'winetricks -q wsh57' works around.
$ sha1sum twcsetup.exe 1d3eadcc311e071188b8e2cfe15ae9a319447eef twcsetup.exe
$ du -sh twcsetup.exe 4.0M twcsetup.exe
$ wine --version wine-1.7.36-16-g748788f
Regards