With VB6 you could make an activeX exe and set its threadpool to 1 and with a bit of luck share the same instance of a class even in different applications, what is the .NET equviliant? I know I can use shared properties and what not to share parts of a class across mulitple instances of the class, but that only works if they are in the same application. I am figuring that what made the old activex exe trick work is the fact that it was out-of-process. So is there a way to make out of process components in .NET? Or can I use a windows service to share the class?