[Bug 35794] New: iTunes 7 installer aborts early (failure to find builtin 'RegExp' class)
wine-bugs at winehq.org
wine-bugs at winehq.org
Sun Mar 16 07:07:28 CDT 2014
https://bugs.winehq.org/show_bug.cgi?id=35794
Bug ID: 35794
Summary: iTunes 7 installer aborts early (failure to find
builtin 'RegExp' class)
Product: Wine
Version: 1.7.14
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: vbscript
Assignee: wine-bugs at winehq.org
Reporter: focht at gmx.net
Hello folks,
continuation of bug 34154
--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+vbscript,+ole,+variant wine ./iTunesSetup7.exe
>>log.txt 2>&1
...
002f:trace:vbscript:disp_get_id using IDispatch
002f:trace:ole:ITypeInfo_fnGetIDsOfNames (0x1daf30) Name L"CompareVersions"
cNames 1
...
002f:warn:ole:ITypeInfo_fnGetIDsOfNames no names found
002f:fixme:msi:AutomationObject_GetIDsOfNames Unknown member
L"CompareVersions", clsid {000c109e-0000-0000-c000-000000000046}
...
002f:trace:vbscript:interp_errmode 1
002f:trace:vbscript:interp_new L"RegExp"
002f:fixme:vbscript:interp_new Class L"RegExp" not found
002f:fixme:vbscript:exec_script Failed 80004005 in resume next mode
...
002d:err:msi:ITERATE_Actions Execution halted, action L"iTunesLaunchConditions"
returned 1603
--- snip ---
Relevant VBScript code snippet:
--- snip ---
...
Sub iTunesLaunchConditions
PreventDowngrade
DetectGEARDriverSetDeletion
CheckUnsupportediPodSoftware
End Sub
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
Sub PreventDowngrade
Const msiInstallStateAdvertised = 1
Dim Installer
Dim RelatedProducts
Dim UpgradeCode
Dim ProductCode
Dim ProductVersion
Dim ProductVersionMax
Dim ProductVersionFound
On Error Resume Next
Set Installer = Session.Installer
ProductVersion = Session.Property("ProductVersion")
ProductVersionMax = ""
UpgradeCode = Session.Property("UpgradeCode")
Set RelatedProducts = Installer.RelatedProducts(UpgradeCode)
For Each ProductCode in RelatedProducts
If Installer.ProductState(ProductCode) = msiInstallStateAdvertised Then
ProductVersionFound = Installer.ProductInfo(ProductCode, "Version")
Else
Err.Clear : ProductVersionFound =
Installer.ProductInfo(ProductCode, "VersionString")
If Err.number <> 0 Then ProductVersionFound = ""
End If
If CompareVersions(ProductVersionFound, ProductVersionMax) > 0 Then
ProductVersionMax = ProductVersionFound
Next
If CompareVersions(ProductVersionMax, ProductVersion) > 0 Then
Session.Property("BNEWERITUNESISINSTALLED") = "1"
Else
Session.Property("BNEWERITUNESISINSTALLED") = ""
End If
End Sub
...
--- snip ---
-> 'Set rgExpVersionComponents = New RegExp'
$ sha1sum iTunesSetup7.exe
5cdc86b2edb1411b9a022f05b1bfbe858fbcf901 iTunesSetup7.exe
$ du -sh iTunesSetup7.exe
35M iTunesSetup7.exe
$ wine --version
wine-1.7.14-126-g2bb1059
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list