Great article! But when you say "unfortunately" with regards to COM registration under non-elevated context, that's not a bad thing. It's intentional and offers quite a bit of protection against malware attacks that XP couldn't defend against. Also, if you are building an application to install on other computers you should package it using Wise or InstallShield, both of which provide tools for registering COM components and .NET assemblies, etc. Neither product is cheap, but they can save you a lot of work in the long run.