0

I have created a CodedUI test in VS2010 (Ultimate) and called this test from a console application (which is built in the same .Net Framework 4).This is running fine on my machine or any other machine with VS2010 Ultimate installed. When I try to run the CodedUI test on a 32-bit machine without VS2010 Ultimate it throws the following error:

Unhandled Exception: Microsoft.VisualStudio.TestTools.UITest.Extension.PlaybackFailureException: Cannot perform '' on the control. Additional Details: 
The control details were not specified. ---> System.Runtime.InteropServices.COMException:
 Retrieving the COM class factory for component with CLSID {6DA215C2-D80D-42F2-A
514-B44A16DCBAAA} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
   at Microsoft.VisualStudio.TestTools.UITest.Playback.ScreenElement.InitPlayback()
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.Initialize()
   --- End of inner exception stack trace ---
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowComException(COMException innerException, IPlaybackContext context)
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.MapAndThrowException(SystemException exception, IPlaybackContext context)
   at Microsoft.VisualStudio.TestTools.UITesting.Playback.Initialize()
   at CitrixLANConsole.Program.Main(String[] args) in c:\users\<username>\documents\visual studio 2010\Projects\CitrixLANConsole\CitrixLANConsole\Program.cs:
line 27.

Can anyone tell me how can I make the test run on a machine which does not have VS2010 Ultimate installed on it?

g t
  • 7,287
  • 7
  • 50
  • 85
shelin
  • 11
  • 1

1 Answers1

0

I think that your problem is in platform target: you are trying to run the x64 code on 32-bit system. Change the Target Platform for your application and run tests again.

The reason of the problem is that you are trying to manipulate the wrong class in your tests.


Hmm, I think that there is something in Ultimate package you can't get on other machine. Can't say for sure from your stacktrace, but try to find the class you're missing and put library with it in GAC.

The reason why the regsvr32 didn't is that .NET libraries try to find the needed one library in GAC, not in some register entries. See more on MSDN.

VMAtm
  • 27,943
  • 17
  • 79
  • 125
  • Thanks for your suggestion. I have built the file keeping target as x86, which is running fine in any machine which is 32bit and having VS2010 ultimate installed. I am getting this error only when I am trying to run it on a 32bit machine which is not having VS2010 ultimate installed. Can you please suggest something about how I can overcome this error and run my .exe on any 32bit machine. I even tried registering the .dll file using regsvr32 but I am getting the error ‘entry point of DllRegisterServer was not found’ – shelin Feb 05 '15 at 04:33