[Bug 30529] New: LiteStep 0.3 refuses to install due to mismatched VC++ runtime versions (8.0.50727.42 (2005), 8.0.50727.762 (2005 SP1), 9.0.21022.8 (2008))
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Apr 27 17:37:12 CDT 2012
http://bugs.winehq.org/show_bug.cgi?id=30529
Bug #: 30529
Summary: LiteStep 0.3 refuses to install due to mismatched VC++
runtime versions (8.0.50727.42 (2005), 8.0.50727.762
(2005 SP1), 9.0.21022.8 (2008))
Product: Wine
Version: 1.5.2
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: msvcrt
AssignedTo: wine-bugs at winehq.org
ReportedBy: focht at gmx.net
Classification: Unclassified
Hello,
continuation of bug 17631
With IAssemblyCache::QueryAssemblyInfo implemented it still fails for this
specific installer due to exact version mismatch (installer queries with fully
qualified name).
VC++ 8.0 (2005): v8.0.50727.42
--- snip ---
...
0024:Call KERNEL32.LoadLibraryExA(00409780
"C:\\users\\focht\\Temp\\nsq76e4.tmp\\System.dll",00000000,00000008)
ret=00401f92
...
0024:Call KERNEL32.GetProcAddress(10000000,00409380 "Call") ret=00401fa2
0024:Ret KERNEL32.GetProcAddress() retval=00910011 ret=00401fa2
0024:CALL System.Call(00020080,00000400,007a3000,0040af80,00409000)
ret=00401fe0
...
0024:trace:sxs:cache_QueryAssemblyInfo 0x174938, 0x00000000,
L"Microsoft.VC80.CRT,version=\"8.0.50727.42\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x1677d8
0024:trace:sxs:CreateAssemblyNameObject 0x32e360,
L"Microsoft.VC80.CRT,version=\"8.0.50727.42\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x00000001, (nil)
...
0024:Call KERNEL32.GetFileAttributesW(001788d0
L"C:\\windows\\winsxs\\manifests\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.42_none_deadbeef.manifest")
ret=7df0151a
0024:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7df0151a
...
0024:RET System.Call() retval=00000000 ret=00401fe0
0024:Call KERNEL32.FreeLibrary(10000000) ret=00401fff
--- snip ---
VC++ 8.0 (2005) hotfix: v8.0.50727.163
--- snip ---
...
0024:trace:sxs:cache_QueryAssemblyInfo 0x174938, 0x00000000,
L"Microsoft.VC80.CRT,version=\"8.0.50727.163\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x1677d8
0024:trace:sxs:CreateAssemblyNameObject 0x32e360,
L"Microsoft.VC80.CRT,version=\"8.0.50727.163\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x00000001, (nil)
...
0024:Call KERNEL32.GetFileAttributesW(001788d0
L"C:\\windows\\winsxs\\manifests\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.163_none_deadbeef.manifest")
ret=7df0151a
0024:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7df0151a
...
--- snip ---
VC++ 8.0 (2005) SP1: v8.0.50727.762
--- snip ---
...
0024:trace:sxs:cache_QueryAssemblyInfo 0x174938, 0x00000000,
L"Microsoft.VC80.CRT,version=\"8.0.50727.762\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x1677d8
0024:trace:sxs:CreateAssemblyNameObject 0x32e360,
L"Microsoft.VC80.CRT,version=\"8.0.50727.762\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x00000001, (nil)
...
0024:Call KERNEL32.GetFileAttributesW(001788d0
L"C:\\windows\\winsxs\\manifests\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_deadbeef.manifest")
ret=7df0151a
0024:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7df0151a
...
--- snip ---
VC++ 8.0 (2005) SP1: v8.0.50727.1433
--- snip ---
...
0024:trace:sxs:cache_QueryAssemblyInfo 0x174938, 0x00000000,
L"Microsoft.VC80.CRT,version=\"8.0.50727.1433\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x1677d8
0024:trace:sxs:CreateAssemblyNameObject 0x32e360,
L"Microsoft.VC80.CRT,version=\"8.0.50727.1433\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x00000001, (nil)
...
0024:Call KERNEL32.GetFileAttributesW(001788d0
L"C:\\windows\\winsxs\\manifests\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.1433_none_deadbeef.manifest")
ret=7df0151a
0024:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7df0151a
...
--- snip ---
VC++ 9.0 (2008): v9.0.21022.8
--- snip ---
0024:trace:sxs:cache_QueryAssemblyInfo 0x174938, 0x00000000,
L"Microsoft.VC90.CRT,version=\"9.0.21022.8\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x1677d8
0024:trace:sxs:CreateAssemblyNameObject 0x32e360,
L"Microsoft.VC90.CRT,version=\"9.0.21022.8\",type=\"win32\",processorArchitecture=\"x86\",publicKeyToken=\"1fc8b3b9a1e18e3b\"",
0x00000001, (nil)
...
0024:Call KERNEL32.GetFileAttributesW(001788d0
L"C:\\windows\\winsxs\\manifests\\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_deadbeef.manifest")
ret=7df0151a
0024:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7df0151a
...
--- snip ---
If you create fake manifests matching the requested version numbers the
installer will properly detect all VC++ runtimes.
VC++ 8.0 (2005): 8.0.50727.42
VC++ 8.0 (2005) SP1: 8.0.50727.762
VC++ 9.0 (2008): 9.0.21022.8
Maybe QueryAssemblyInfo() is allowed to make use of the assembly binding
redirect feature, returning assembly info for qualified name that matches a
version range.
That way only one manifest for each VC++ runtime needs to be provided.
Though I could be wrong ... then Wine has to provide more fake manifests,
covering various versions of the same VC++ runtime.
$ du -sh LOSI-0.3.exe
4.8M LOSI-0.3.exe
$ sha1sum LOSI-0.3.exe
cee31fa9ebf1838b89e7452e6269b4d20f1c51b8 LOSI-0.3.exe
$ wine --version
wine-1.5.3
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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