http://bugs.winehq.org/show_bug.cgi?id=28975
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |major
--- Comment #9 from Anastasius Focht focht@gmx.net 2011-11-06 14:41:09 CST --- Hello,
@André: thanks, unfortunately your patchset was too late for 1.3.32 hence there will be a number of blockers/dupes here...
Raising importance as it will probably affect lots of installers that are InstallShield engine based.
This API was probably introduced at the time Windows Vista was developed which tend to broke older InstallShield versions. Due to market share/widespread use of InstallShield, Microsoft probably gave the vendor this API to advertise themselves to Windows Application Compatibility Engine/Layer. Based on installer package/product id which can be extracted given the package an application shim could be enabled if a "bad" product installer was detected (shim database/sdb).
Application shimming (compatibility) is a pretty interesting technology and the main reason why many thousands of (broken) apps/games not designed for future Windows versions still work (Vista/7). These apps rely on specific Windows Version implementations, broken Windows API behaviour, abuse the Windows API etc.
From what I gathered from reading various blogs/crystal ball/MSDN many
application specific "hacks" are implemented in shims, keeping the main code base clean, allowing for further improvement/rewrite/fixing in newer Windows versions.
Shimming is an interesting feature that might be considered in future Wine versions.
Regards