https://bugs.winehq.org/show_bug.cgi?id=35816
Bug ID: 35816 Summary: iTunes 7 installer aborts early ('Err' object 'Clear' and 'Number' methods are stubs) Product: Wine Version: 1.7.14 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: vbscript Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
continuation of bug 35794
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+vbscript,+ole,+variant wine ./iTunesSetup7.exe
log.txt 2>&1
... 0039:trace:vbscript:interp_icall 0039:trace:vbscript:disp_get_id using IDispatch 0039:trace:ole:ITypeInfo_fnGetIDsOfNames (0x1daf80) Name L"Err" cNames 1 ... 0039:warn:ole:ITypeInfo_fnGetIDsOfNames no names found 0039:fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Err", clsid {000c109e-0000-0000-c000-000000000046} 0039:trace:vbscript:DispatchEx_AddRef (0x1d5e28) ref=2 0039:trace:vbscript:interp_mcallv 0039:trace:ole:ITypeInfo_fnGetIDsOfNames (0x1d5948) Name L"Clear" cNames 1 0039:Call KERNEL32.lstrcmpiW(001ec73c L"Clear",001d3ff4 L"Clear") ret=7e5dabff 0039:Ret KERNEL32.lstrcmpiW() retval=00000000 ret=7e5dabff 0039:trace:ole:ITypeInfo_fnGetIDsOfNames -- 0x00000000 0039:trace:vbscript:DispatchEx_QueryInterface (0x1d5e28)->(IID_IDispatchEx 0x64e1a0) 0039:trace:vbscript:DispatchEx_AddRef (0x1d5e28) ref=3 0039:trace:vbscript:DispatchEx_InvokeEx (0x1d5e28)->(64 0 1 0x64e234 (nil) 0x64e180 (nil)) 0039:fixme:vbscript:Err_Clear 0039:trace:vbscript:DispatchEx_Release (0x1d5e28) ref=2 0039:trace:vbscript:DispatchEx_Release (0x1d5e28) ref=1 0039:fixme:vbscript:exec_script Failed 80004001 in resume next mode ... 0037:err:msi:ITERATE_Actions Execution halted, action L"iTunesLaunchConditions" returned 1603 --- snip ---
The relevant VBScript code:
--- snip --- Function CompareVersions(sVersion1, sVersion2) Dim rgExpVersionComponents Dim oMatches1, oMatches2 Dim iVersion1, iVersion2 Dim i
On Error Resume Next Set rgExpVersionComponents = New RegExp rgExpVersionComponents.Pattern = "(\d+).?" rgExpVersionComponents.Global= True Set oMatches1 = rgExpVersionComponents.Execute(sVersion1) Set oMatches2 = rgExpVersionComponents.Execute(sVersion2) i = 0 Do Err.Clear iVersion1 = 0 iVersion2 = 0 iVersion1 = CInt(oMatches1(i).SubMatches(0)) iVersion2 = CInt(oMatches2(i).SubMatches(0)) If iVersion1 < iVersion2 Then CompareVersions = -1 Exit Function ElseIf iVersion1 > iVersion2 Then CompareVersions = 1 Exit Function End If i = i + 1 Loop While Err.number = 0 CompareVersions = 0 End Function --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/347cf1d39df2c5e3488d10e9aff267861...
--- snip --- 56 static HRESULT Err_Clear(vbdisp_t *This, VARIANT *args, unsigned args_cnt, VARIANT *res) 57 { 58 FIXME("\n"); 59 return E_NOTIMPL; 60 } --- snip ---
$ sha1sum iTunesSetup7.exe 5cdc86b2edb1411b9a022f05b1bfbe858fbcf901 iTunesSetup7.exe
$ du -sh iTunesSetup7.exe 35M iTunesSetup7.exe
$ wine --version wine-1.7.14-165-g77bd74f
Regards