http://bugs.winehq.org/show_bug.cgi?id=16443
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #3 from Anastasius Focht focht@gmx.net 2008-12-10 05:48:42 --- Hello,
seems the commit really needs to be reverted to work around such crap.
Yes, I admit it was wrong place to fix. It was meant to work around Winedevice which treats drivers the same way as standard win32 subsystem PE when it comes to loading and resolving imports. The difference is that the entry point should not be called automagically by loader in this case (native subsystem). This is done by Winedevice - the driver init routine is explicitly resolved and called, passing proper parameters.
Apart from that technical aspects this is also a bug with M$ IE6 package. Broken stuff as usual... I wonder how such stuff gets shipped, passing QA.
The 'corpol.dll' binary is actually invalid from technical standpoint, the optional header subsystem attribute should never be "native". If you look at dll imports you see standard win32 subsystem imports which is invalid for "true" native subsystem binaries. This is in fact a standard win32 subsystem binary, despite the incorrect subsystem value.
It looks like the binary was later corrected by Services Packs/Windows updates (Subsystem: 0x0003 -> WINDOWS_CUI).
Regards