views:

191

answers:

2

I am using the VMWare Tasks library to try and automate some VMs for testing. However when my C# program (32-bit) tries to load vix.dll it seems to fail. Running vmrun.exe from the VixCOM directory works.


vmrun.exe

In procmon I can see vmrun.exe try to load winmm.dll, oleacc.dll, mpr.dll, msasn1.dll, winspool.drv in C:\Program Files (x86)\VMware\VMware VIX\VIServer-2.0.0\32bit\ which all fail. It then continues on to load other DLLs and runs ok.

And the vmware-vixWrapper.log for vmrun.exe looks like this:

Jul 30 12:16:14.802: app| Log for VixWrapper pid=3460 version=1 build=build-156745 option=Release
Jul 30 12:16:14.812: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.813: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.814: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.814: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.823: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws-2\32bit\vix.dll'
Jul 30 12:16:14.827: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.827: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.828: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.828: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:14.832: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws-2\32bit\vix.dll'
Jul 30 12:16:14.833: app| Loading Vix implementation library C:\Program Files (x86)\VMware\VMware VIX\\VIServer-2.0.0\32bit\vix.dll


C#

My program also attempts to load these DLLs in C:\Program Files (x86)\VMware\VMware VIX\VIServer-2.0.0\32bit\, fails and then continues on to load them in C:\Windows\SysWOW64.

The vmware-vixWrapper.log file looks like this for my program:

Jul 30 12:16:38.631: app| Log for VixWrapper pid=5844 version=1 build=build-156745 option=Release
Jul 30 12:16:38.636: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.637: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.637: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.639: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.647: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws-2\32bit\vix.dll'
Jul 30 12:16:38.651: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.651: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.655: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.656: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws_server_esx-4\32bit\vix.dll'
Jul 30 12:16:38.659: app| config points to non-existent implementation library 'C:\Program Files (x86)\VMware\VMware VIX\\ws-2\32bit\vix.dll'
Jul 30 12:16:38.660: app| Loading Vix implementation library C:\Program Files (x86)\VMware\VMware VIX\\VIServer-2.0.0\32bit\vix.dll
Jul 30 12:16:38.669: app| failed to load library C:\Program Files (x86)\VMware\VMware VIX\\VIServer-2.0.0\32bit\vix.dll (193)
Jul 30 12:16:38.669: app| No Vix library found for provider 10 revision -1

Any help would be appreciated! :)


Here is the question on the VIX API forum.

+1  A: 

Possibly a bug in VixCOM. Post this to the VixCOM community. http://communities.vmware.com/community/developer/automationapi

dblock
A: 

This seems to have been caused by the VMWareTask 'Version.dll' which was getting loaded instead of 'C:\Windows\System32\version.dll'. I'm not sure of the details but once I deleted the VMWareTasks dll everything started working again.

Luke Quinane