Armin's answer is the one I ended up using and it's worked well.
I just want to add that I only get the 'Class Not Registered' exception when I'm starting the process from a program that is running with elevated permissions. This appears to be new behavior with Windows 8.