12-19-2009 08:18 AM
Greeings:
I'm hoping someone out there can advise me.
I recently tried building a TS application to deploy on a server running WIndows Server 2003 x64, and I have run into a few difficulties. On my development system, (32-bit WInXP pro) I built a TS Deployment installer. I transfered it to the destination machine. Installation failed ... it said that numerous files were missing from different CAB files. I tried again ... the second time I had better luck ... the installation seemed to take. Using the License Manager, I activated my installation using my development license (my deployment license hasn't arrived yet). I tried launching my application, and I get an exception that seems to indicate the ActiveX dlls aren't registered:
Unhandled Exception: System.Runtime.InteropServices.COMException (0x80040154): C
lass not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Obj
ect punkOuter, Int32 context, Guid& iid)
I tried registering these manually using
regsvr32 "D:\Program Files\National Instruments\TestStand 4.1\API\DotNet\Assemblies\CurrentVersion\NationalInstruments.TestStand.Interop.UI.AxControls.dll"
but it complains that this DLL has no DllRegisterServer entry point. (Is it the wrong DLL to register?)
I tried uninstalling my deployment and installing the full teststand ... and SeqEdit seems to run properly. (It must have registered the required DLLs, no?) My app, on the other hand, still does not run. I am trying to install Visual Studio to see if I can rebuild the application on this system with better results.
Have I missed an important step?
Thanks!
Tom MacLean
Solved! Go to Solution.
12-19-2009 11:14 AM
Update ...
So, I installed Visual Studio (2008) and I rebuild my solution ... same exception.
I open the Operator Interfaces example code and it builds and runs!!
I create a empty forms application and drop in the Application Manager and a button (only things my app has) and build it, run it ... same exception as with my applications. (*&^(*^!!
Grumble. Sigh.
Tom M.
12-19-2009 11:18 AM
12-19-2009 12:31 PM
12-19-2009 02:49 PM
12-21-2009 09:48 AM
LabCat,
That's correct. If you have the build set as Any Platform, when you install that on a 64-bit machine, the project will try to load the 64-bit versions of those assemblies, which don't exist. You have to make sure your project is building specifically for x86 so it will run properly on a 64-bit machine. I believe TestStand 4.2 or 4.2.1 ships with OIs that have this set as the default setting in the .NET OI source code, but your earlier version may not have had that corrected.
12-21-2009 01:16 PM
I think that setting is already correct in 4.1 (which is why the OI code worked) ... but it took me a while to figure out that that was the difference between the OI code and mine. Thanks for confirming though.
Regards,
Tom M.