我正在使用VMWare Tasks库来尝试自动化一些虚拟机进行测试。但是,当我的C#程序(32位)尝试加载vix.dll时,它似乎失败了。从VixCOM目录运行vmrun.exe。
在procmon中,我可以看到vmrun.exe尝试在winmm.dll
中加载oleacc.dll
,mpr.dll
,msasn1.dll
,winspool.drv
,C:\Program Files (x86)\VMware\VMware VIX\VIServer-2.0.0\32bit\
都失败了。然后继续加载其他DLL并运行正常。
vmrun.exe的vmware-vixWrapper.log
如下所示:
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:\Program Files (x86)\VMware\VMware VIX\VIServer-2.0.0\32bit\
中加载这些DLL,失败,然后继续加载C:\Windows\SysWOW64
。
vmware-vixWrapper.log
文件对我的程序来说是这样的:
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
任何帮助将不胜感激! :)
以下是关于VIX API forum的问题。
答案 0 :(得分:1)
可能是VixCOM中的一个错误。将此发布到VixCOM社区。 http://communities.vmware.com/community/developer/automationapi
答案 1 :(得分:0)
这似乎是由加载而不是'Version.dll'
的VMWareTask 'C:\Windows\System32\version.dll'
引起的。我不确定细节但是一旦我删除了VMWareTasks dll,一切都重新开始了。