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@winehq.org ReportedBy: focht@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
http://bugs.winehq.org/show_bug.cgi?id=30529
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |AssemblyName objects | |specifying different | |version
--- Comment #1 from Anastasius Focht focht@gmx.net 2012-04-27 17:37:47 CDT --- Hello,
filling fields ...
Regards
http://bugs.winehq.org/show_bug.cgi?id=30529
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|AssemblyName objects |https://github.com/download |specifying different |s/Tobbe/losi/LOSI-0.3.exe |version |
--- Comment #2 from Anastasius Focht focht@gmx.net 2013-05-01 11:20:11 CDT --- Hello folks,
obviously still present. Correcting download link.
$ wine --version wine-1.5.29-38-g8e4317c
Regards
http://bugs.winehq.org/show_bug.cgi?id=30529
hanska2@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hanska2@luukku.com
--- Comment #3 from hanska2@luukku.com --- Still cant install pure wine 1.7.22
https://bugs.winehq.org/show_bug.cgi?id=30529
Piotr Caban piotr.caban@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban@gmail.com
--- Comment #4 from Piotr Caban piotr.caban@gmail.com --- It looks like a bug in installer (or they really want a specific c-runtime version). The installer behaves in the same way on my Windows 10 box (that has vcrun2005, vcrun2005sp1 and vcrun2008 installed but there's no exact version match).
I think wine behaves correctly in that case. We may consider adding more manifests. On the other hand we don't want to replicate buggy behaviour that was fixed in newer build of the dll.
I'm suggesting to close the bug as invalid.
https://bugs.winehq.org/show_bug.cgi?id=30529
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello Piotr,
thanks for the information.
Based on your tests (installer behaves in native Windows the same way) I'll resolve the ticket as 'INVALID'.
Regards
https://bugs.winehq.org/show_bug.cgi?id=30529
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED CC| |nerv@dawncrow.de
--- Comment #6 from André H. nerv@dawncrow.de --- closing invalid
https://bugs.winehq.org/show_bug.cgi?id=30529
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://github.com/download |https://web.archive.org/web |s/Tobbe/losi/LOSI-0.3.exe |/20210725113510/https://git | |hub.com/downloads/Tobbe/los | |i/LOSI-0.3.exe