Quote:What it's good for? In reality, so far I have seen no benifits - only hinderences.
Manifests define what feature level of a given DLL that you're linking against. It's similar to how Linux uses "libwhatever.so.5" as a symlink to "libwhatever.so" (if you're lucky).
However, manifests additionally allow things like cross-versioning, where an application that uses custom controls version 4.7 can load a plug-in that uses custom controls version 6.0, even though custom controls version 6.0 is not a re-distributable, and is a different binary from 4.7.
In addition, manifests with system-managed side-by-side installation allows Microsoft to easily update/patch DLLs using Windows Update. I think they learned this when the gdiplus DLL problem hit -- scanning the entire disk for any DLL that might be a gdiplus DLL was not a pleasant experience for people applying updates...
It does solve some problems, and if you go through the half-hour to learn how to create a proper setup project (using merge modules for runtimes, etc), then the install/uninstall is very simple for the user. But a lot of developers, for some reason, would be happy to spend years learning how a compiler and a linker works, without spending a few hours learning how the main delivery vehicle for the platform works. I guess that's their choice, but then complaining isn't really warranted IMO.