Symptoms:
Upgrading or uninstalling an existing installation of VMware Tools on a Windows virtual machine fails with the error, “The feature you are trying to use is on a network resource that is unavailable.”
Source Path Persistence: During a previous installation or upgrade, the setup64.exe wrapper extracted the MSI payload to a sub-directory within C:\Windows\TEMP\.
Cache Registration Failure: For reasons often tied to aggressive disk cleanup utilities, restrictive GPOs, or interrupted install processes, the Windows Installer framework failed to move the MSI to the permanent system cache.
Path Mismatch: The Windows Registry (specifically under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\) still expects the installation source to be present in the temporary extraction folder. When a subsequent upgrade or uninstall is triggered, the framework attempts to call the legacy path, resulting in the prompt for VMware Tools64.msi.
Identify the exact version and build number of the currently installed VMware Tools by referencing the VMware Tools Versions Mapping.
Download the matching VMware-tools-<VERSION>-<BUILD>-x86_64.exe installer from the VMware Tools Release Repository.
Copy the installer to a local directory on the target virtual machine (e.g., C:\temp\vmwaretools).
Open a PowerShell console as Administrator and navigate to the directory containing the installer.
Execute the following commands to extract the MSI and force a repair of the framework database:
# Retrieve currently installed version from registry
$currentVMtoolsVersion = (Get-ChildItem -Recurse HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object { $_.DisplayName -eq 'VMware Tools' }).DisplayVersion
# Construct the expected installer filename
$exeInstallerName = "VMware-tools-" + $currentVMtoolsVersion.Substring(0, $currentVMtoolsVersion.LastIndexOf(".")) + "-" + $currentVMtoolsVersion.Substring($currentVMtoolsVersion.LastIndexOf(".") + 1) + "-x86_64.exe"
# Define local path
$workingDir = (Get-Location).Path
$exeInstallerPath = "$workingDir\$exeInstallerName"
# Administrative installation to extract MSI components
$msiExtractionArguments = "/a /s /v`"/qn TARGETDIR=$workingDir`""
Start-Process -FilePath $exeInstallerPath -ArgumentList $msiExtractionArguments -Wait
# Force repair the MSI framework registration
$msiexecArguments = "/fomusv `"$workingDir\VMware Tools64.msi`" /qn"
Start-Process msiexec -ArgumentList $msiexecArguments -Wait
Once the repair is complete, proceed with the standard uninstallation or upgrade via the vSphere Client or command line.