Name
VMInstallTools
Description
$err = VMInstallTools($vmHandle,
$options,
$commandLineArgs);
Prepares to install VMware Tools on the guest operating system.
Parameters
- vmHandle
-
Identifies a virtual machine. Call VMOpen() to create a virtual machine handle.
- options
-
May be either
VIX_INSTALLTOOLS_MOUNT_TOOLS_INSTALLER
or
VIX_INSTALLTOOLS_AUTO_UPGRADE.
Either flag can be combined with the
VIX_INSTALLTOOLS_RETURN_IMMEDIATELY
flag using the bitwise inclusive OR operator (|). See remarks for more information.
- commandLineArgs
-
Must be
undef.
Return Value
$err. The error code returned by the operation. For returned values, see Topics > Error Codes.
Remarks
- If the option
VIX_INSTALLTOOLS_MOUNT_TOOLS_INSTALLER
is provided, the function prepares an ISO image to install VMware Tools
on the guest operating system. If autorun is enabled, as it often is on Windows,
installation begins, otherwise you must initiate installation. If VMware Tools
is already installed, this function prepares to upgrade it to the version
matching the product.
- If the option
VIX_INSTALLTOOLS_AUTO_UPGRADE
is provided, the function attempts to automatically upgrade VMware Tools
without any user interaction required, and then reboots the virtual machine.
This option requires that a version of VMware Tools already be installed.
If VMware Tools is not already installed, the function will fail.
- When the option
VIX_INSTALLTOOLS_AUTO_UPGRADE
is used on virtual machine with a Windows guest operating system, the
upgrade process may cause the Windows guest to perform a controlled reset
in order to load new device drivers. If you intend to perform additional
guest operations after upgrading the VMware Tools, it is recommanded that
after this task completes, that the guest be reset using
VMReset()
with the VIX_VMPOWEROP_FROM_GUEST flag, followed by calling
VMWaitForToolsInGuest()
to ensure that the guest has reached a stable state.
- If the option
VIX_INSTALLTOOLS_AUTO_UPGRADE
is provided and the newest version of tools is already installed,
the function will return
VIX_OK. Some older versions of Vix may return VIX_E_TOOLS_INSTALL_ALREADY_UP_TO_DATE.
- If the
VIX_INSTALLTOOLS_RETURN_IMMEDIATELY
flag is set, this function will
return
immediately after mounting the VMware Tools ISO image.
- If the
VIX_INSTALLTOOLS_RETURN_IMMEDIATELY
flag is not set for an ESX host, this function will
return
immediately after mounting the VMware Tools ISO image.
- If the
VIX_INSTALLTOOLS_RETURN_IMMEDIATELY
flag is not set for a WS host, this function will
return
only after the installation successfully completes or is cancelled.
- The virtual machine must be powered on to do this operation.
- If the Workstation installer calls for an ISO file that is not downloaded,
this function returns an error, rather than attempting to download the ISO file.
Side Effects
None.
Requirements
use VMware::Vix::Simple;
use VMware::Vix::API::Constants;
since VMware Server 1.0
Minimum Supported Guest OS: Microsoft Windows NT Series, Linux
Example
my $err = VIX_OK;
my $hostHandle = VIX_INVALID_HANDLE;
my $vmHandle = VIX_INVALID_HANDLE;
($err, $hostHandle) = HostConnect(VIX_API_VERSION,
VIX_SERVICEPROVIDER_VMWARE_WORKSTATION,
undef, # hostName
0, # hostPort
undef, # userName
undef, # password
0, # options
VIX_INVALID_HANDLE); # propertyListHandle
die "HostConnect() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
($err, $vmHandle) = VMOpen($hostHandle,
"c:\\Virtual Machines\\vm1\\win2000.vmx");
die "VMOpen() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
$err = VMPowerOn($vmHandle,
0, # powerOnOptions
VIX_INVALID_HANDLE); # propertyListHandle
die "VMPowerOn() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
$err = VMInstallTools($vmHandle,
VIX_INSTALLTOOLS_MOUNT_TOOLS_INSTALLER, # options
undef); # commandLineArgs
die "VMInstallTools() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;
$err = VMPowerOff($vmHandle,
0); # powerOnOptions
die "VMPowerOff() failed, $err ", GetErrorText($err), "\n" if $err != VIX_OK;