Just read up on MSDN Magazine's April issue about escaping DLL hell with VS.NET 2005's new registration free COM feature. This handy new addition basically creates a new manifest file for the COM component in question and as the article points out the rest is handled by the VS.NET compiler at runtime...
Every COM reference in Visual Studio 2005 has a new property called Isolated. By default, this property is False, indicating that it should be treated like a normal, registered COM reference. If this property is True, it causes a manifest to be generated for the component at build time. It also causes the corresponding component files to be copied to the application folder. When the manifest generator encounters an isolated COM reference, it enumerates all of the CoClass entries in the component's type library, relating each entry with its corresponding registration data. In this manner, manifest definitions are automatically generated for all the COM classes in a file.