I've written a stupid-simple ServicedComponent (COM+ component) to run out-of-process and wrap an x86 only COM component on an x64 server. On my test VM (Server 2008 R2) it works fine. On the production box, I get a file not found exception.
C:\Windows\Microsoft.NET\Framework\v2.0.50727>C:\Testapp.exe The system cannot find the file specified. (Exception from HRESULT: 0x80070002) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type serverType, Boolean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri) at System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(Type serverType) at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(Type serverType, Object[] props, Boolean bNewObj) at Testapp.Program.Main(String[] args) in D:\TFS\Testapp\Program.cs:line 11
Line 11 of Program.cs is where I instantiate an object of the COM type that I am wrapping.
Again, This works fine on my x64 Win 7 development machine, and my x64 test VM. I'm building my component x86, and registering with the 32bit version of regsvcs from a 32bit command prompt.
What on earth am I doing wrong or forgetting?