https://bugs.winehq.org/show_bug.cgi?id=45032
Bug ID: 45032 Summary: WineTest does not run the vcomp tests Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: vcomp Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
So WineTest is not running the vcomp tests. What happens is this:
* It parses the vcomp_test.exe filename and concludes that this tests the vcomp dll.
* It does a LoadLibraryExA("vcomp.dll", NULL, LOAD_LIBRARY_AS_DATAFILE) which fails (as expected) and concludes that the dll is missing:
vcomp=dll is missing
* Since the dll is missing WineTest skips the vcomp tests.
According to Dan Kegel (see bug 31609) this is a manifest / activation context issue and he sent a patch for it [1]. However the patch was for the TestBot [2], not WineTest, and as far as I can tell it's not working.
Furthermore WineTest already has activation context code that seems equivalent to Dan Kegel's patch.
Note that not all VMs have vcomp.dll. Based on the current results the 32 bit dll is present on the TestBot's w2000pro, wxppro, w2003std, wvistau64*, w2008s64, w8, w864 VMs and the 64 bit one is present on wvistau64, w2008s64 and w864.
Note that some online resources seem to imply that vcomp.dll is present in the Visual C++ 2005 redistributable (and VC++ 2005 was indeed installed on all the VMs that have vcomp.dll except w2008s64 (though maybe it was installed and it was not written down)). Some VMs seem to have other versions such as vcomp90.dll but not vcomp.dll.
[1] https://bugs.winehq.org/show_bug.cgi?id=31609 https://www.winehq.org/pipermail/wine-patches/2012-September/117631.html
[2] Paradoxically the TestBot has no problem running the vcomp tests now that they dynamically load the vcomp dll. That's because the TestBot makes no assumption based on the executable filename since one can upload test binaries that don't follow any naming scheme. So now that the test dynamically loads vcomp.dll the TestBot cannot check for it.