'Class Not Registered' runtime exception when attempting to spin up a player

762 views
Skip to first unread message

Ed Giardina

unread,
Jul 30, 2013, 6:07:54 PM7/30/13
to vmwar...@googlegroups.com
I'm using VMWareTasks to try and simply spin up a new VMWare Player to run a BlackBerry 10 VM. Code is as follows, and builds without issue:

            VMWareVirtualHost virtualHost = new VMWareVirtualHost();
            
            // connect to a local (VMWare Workstation) virtual machine
            virtualHost.ConnectToVMWarePlayer();
            // open an existing virtual machine
            VMWareVirtualMachine virtualMachine = virtualHost.Open(@"C:\Users\My.User\Documents\Virtual Machines\BlackBerry10Simulator-BB10_1_X-1483\BlackBerry10Simulator.vmx");
            // power on this virtual machine
            virtualMachine.PowerOn();

However, I throw the following exception, without fail, When the 'ConnectToVmWarePlayer()' is invoked:

Retrieving the COM class factory for component with CLSID {6874E949-7186-4308-A1B9-D55A91F60728} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

I'm pretty sure this means that the unlying VMWareTasks cannot find the VIX libraries, which I have confirmed are installed. This is an x64 project... I pulled the GitHub source and build the codebase and used those DLLs and I'm still seeing it, and I am pretty sure the code up on GitHub is not building to x32. Would appreciate any insight into the issue.


Daniel Doubrovkine

unread,
Jul 31, 2013, 7:42:34 AM7/31/13
to vmwar...@googlegroups.com
Which version of VixCOM do you have on your machine?

There's an old discussion here: http://communities.vmware.com/thread/119735?start=0&tstart=0, but then we had an open workitem a long time ago here: http://vmwaretasks.codeplex.com/workitem/9639

I would try the raw VixCOM automation in VBScript or something like that to start, to make sure that works, then move up the stack to make sure VMWareTasks work with that.



--
You received this message because you are subscribed to the Google Groups "vmwaretasks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vmwaretasks...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg - artsy.net - github/dblock

Ed Giardina

unread,
Jul 31, 2013, 10:32:55 AM7/31/13
to vmwar...@googlegroups.com
I am using VIX 1.11

Ahh. Your suggestion to use VBScript (or in my case, Powershell) was a good one. I can create a reference to VixCom no problem in 32 bit applications (running cmd.exe from SysWOW64, or running powershell in 32 bit mode using New-Object VixCom)

So it's definitely a 32 bit vs 64 bit issue with the underlying Vix dll and not with VMWareTasks ..  I know 1.12 is supposed to be x64 compatible but they seem to not have it available on their downloads site)


On Wednesday, July 31, 2013 7:42:34 AM UTC-4, Daniel Doubrovkine wrote:
Which version of VixCOM do you have on your machine?

There's an old discussion here: http://communities.vmware.com/thread/119735?start=0&tstart=0, but then we had an open workitem a long time ago here: http://vmwaretasks.codeplex.com/workitem/9639

I would try the raw VixCOM automation in VBScript or something like that to start, to make sure that works, then move up the stack to make sure VMWareTasks work with that.

 
I'm using VMWareTasks to try and simply spin up a new VMWare Player to run a BlackBerry 10 VM. Code is as follows, and builds without issue:

            VMWareVirtualHost virtualHost = new VMWareVirtualHost();
            
            // connect to a local (VMWare Workstation) virtual machine
            virtualHost.ConnectToVMWarePlayer();
            // open an existing virtual machine
            VMWareVirtualMachine virtualMachine = virtualHost.Open(@"C:\Users\My.User\Documents\Virtual Machines\BlackBerry10Simulator-BB10_1_X-1483\BlackBerry10Simulator.vmx");
            // power on this virtual machine
            virtualMachine.PowerOn();

However, I throw the following exception, without fail, When the 'ConnectToVmWarePlayer()' is invoked:

Retrieving the COM class factory for component with CLSID {6874E949-7186-4308-A1B9-D55A91F60728} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

I'm pretty sure this means that the unlying VMWareTasks cannot find the VIX libraries, which I have confirmed are installed. This is an x64 project... I pulled the GitHub source and build the codebase and used those DLLs and I'm still seeing it, and I am pretty sure the code up on GitHub is not building to x32. Would appreciate any insight into the issue.


--
You received this message because you are subscribed to the Google Groups "vmwaretasks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vmwaretasks...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Daniel Doubrovkine

unread,
Jul 31, 2013, 10:51:50 AM7/31/13
to vmwar...@googlegroups.com
The release notes for 1.11 say that it supports 64-bit.


  • VIX libraries available for 64-bit Windows.
    The VIX client for Windows includes 32-bit libraries for all product versions, and new 64-bit libraries for vSphere, Workstation 8.0 and later, or Player 4.0 and later. When running VIX on earlier versions of Workstation or Player, only 32-bit Windows libraries are available.

Daniel Doubrovkine

unread,
Jul 31, 2013, 10:52:19 AM7/31/13
to vmwar...@googlegroups.com
.. so what version of player do you have?

Ed Giardina

unread,
Jul 31, 2013, 11:32:26 AM7/31/13
to vmwar...@googlegroups.com

VMware Player 5.0.2 build-1031769

 

Yeah, my visual studio project errors out with the original error if I set the platform type to Any CPU, but if I set it manually to x86 it gives me a different error, about not finding the right version (maybe I’m using a too-new version of VMWare player?)

 

{"The specified version was not found"}

   at Vestris.VMWareLib.VMWareInterop.Check(UInt64 errCode)

   at Vestris.VMWareLib.VMWareJob..ctor(IJob job, VMWareJobCallback callback)

   at Vestris.VMWareLib.VMWareVirtualHost.Connect(ServiceProviderType serviceProviderType, String hostName, Int32 hostPort, String username, String password, Int32 timeout)

 

So I guess I have two issues: One, in the version 1.11 I have of VIX, I can’t seem to get the DLL to be registered as an x64 DLL, two, if I force the project to be 32 bit, it can’t seem to find my player.

Ed Giardina

unread,
Aug 1, 2013, 1:33:39 PM8/1/13
to vmwar...@googlegroups.com
Update:

Apparently VIX 1.11 ships with vixwrapper-config.txt supporting VMWare Player 5. Adding the following line to the VIXWrapper-config.txt file fixes it:

player   14  vmdb  5.0.2 Workstation-8.0.0-and-vSphere-5.0.0

Still haven't figured out how to get this jazz working in x64 mode, though. Not sure if I have to register the VIX dlls or what. 

Ed Giardina

unread,
Aug 6, 2013, 3:08:34 PM8/6/13
to vmwar...@googlegroups.com
Ok, More questions:

I've got the basics of VMWareTasks running (can spin up an emulator). However, I am using this to do BlackBerry 10 VM, and there are no guest tools available. Does this mean I cannot do basic things like discover IP Address of the VM, or capture the screen? Capturing screen specifically requires me to log into the GuestOS but I don't have guest tools.

Thanks for any info

Daniel Doubrovkine

unread,
Aug 6, 2013, 3:30:22 PM8/6/13
to vmwar...@googlegroups.com
I think so, but TBH I am just not familiar with that one, the VixCOM forum on VMWare is probably a better place to ask.

--
You received this message because you are subscribed to the Google Groups "vmwaretasks" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vmwaretasks...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 
Reply all
Reply to author
Forward
0 new messages