HRESULT InstallTools([in] LONG options, [in] BSTR commandLineArgs, [in] ICallback* jobDoneCallback, [out,retval] IJob** installJob);
Prepares to install VMware Tools on the guest operating system.
Dim lib Dim job Dim err Dim results Dim host Dim vm Set lib = CreateObject("VixCOM.VixLib") ' Connect to the local installation of Workstation. This also intializes the VIX API. Set job = lib.Connect(VixCOM.Constants.VIX_API_VERSION, VixCOM.Constants.VIX_SERVICEPROVIDER_VMWARE_WORKSTATION, Empty, 0, Empty, Empty, 0, Nothing, Nothing) Set results = Nothing err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results) If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If ' The job result handle will be first element in the results array. Set host = results(0) ' Open the virtual machine with the given .vmx file. Set job = host.OpenVM("c:\Virtual Machines\vm1\win2000.vmx", Nothing) err = job.Wait(Array(VixCOM.Constants.VIX_PROPERTY_JOB_RESULT_HANDLE), results) If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set vm = results(0) ' Power on the virtual machine we just opened. This will launch Workstation if it hasn't ' already been started. Set job = vm.PowerOn(VixCOM.Constants.VIX_VMPOWEROP_LAUNCH_GUI, Nothing, Nothing) ' WaitWithoutResults is just like Wait, except it does not get any properties. err = job.WaitWithoutResults() If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set job = vm.InstallTools(0, Nothing, Nothing) err = job.WaitWithoutResults() If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If Set job = vm.PowerOff(0, Nothing) err = job.WaitWithoutResults() If lib.ErrorIndicatesFailure(err) Then WScript.Echo("Error: " & lib.GetErrorText(err, empty)) WScript.Quit End If host.Disconnect()