Real world implementation of Reg Free Com (WinSxS)

Published June 09, 2010
Advertisement
.NET has taken over much of Windows development; however, for those of us that
have large applications in COM we can't simply jump ship. COM/C++ is still a
valid development platform. The major drawback of COM was actually once one of
its selling points: there can only be one component on a system with a
particular GUID.
That makes running multiple versions of the same component impossible. For
shops like ours; where our front end application is a wrapper around COM dll's,
this has become a serious problem. Its not an acceptable workflow to expect
clients to uninstall/reinstall different versions of the software to work on
different projects.
Windows XP SP2 introduced the solution to this with a technology called
fusion. It allows for COM components to be run "Reg Free," or not registered in
the windows registry. Most people have encountered an aspect of fusion in the
form of application manifest files used to program the "Activation Context API"
and to run with elevated privileges on Vista/7.
Making an end to end solution with this technology is non-trivial and
information about how to do each step of it is sparse and mostly not to the
point. The documentation is written from the viewpoint of already understanding
how the underlying technology works, not from the ground up.


Items to cover:
What is a manifest? - different formats, and how to generate them.
What is the Activation Context (ActCtx) API and why does he matter?
What are the options for running in Reg Free mode?
What is the WinSxS directory and how to I install to him?
Hows does the ActCtx interact with .NET InterOp?
Previous Entry Welcome To My Blog!
Next Entry What is a manifest?
0 likes 2 comments

Comments

Staffan E
I'm listening...

Manifests has been one of those (many) things that, if I pretend they're not there, I've decided they can't harm me. [looksaround]

Would be nice to get some clarity.

Oh, and welcome to the land of journals. Here is an r++ for passing the citizenship test.
June 10, 2010 01:20 AM
Mathucub
Thanks! I've used gamedev a lot over the years and am finally getting to a point where I have information to share that doesn't compete with my clients. Hit me up if you have any specific questions.
June 18, 2010 02:37 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement