An unattended installation of VMware Tools 12 generates a 2711 error

For a new Windows 10 image build, I used the latest supported VMware Tools  In this case that was VMware Tools 12.0.0. VMware Tools is deployed using an unattended installation such as:

e:\setup64.exe /S /v "/qb REBOOT=R ADDLOCAL=All REMOVE=AppDefense,Hgfs,CBHelper,VmwTimeProvider,VSS,NetworkIntrospection,FileIntrospection" /l c:\windows\temp\vmware_tools_install.log

During the installation of VMware Tools, the following error occurred: “The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2711.”

After comparing the syntax of the components and could not find any clue (link).

Feature Name Description
CBHelper Helper to install of Carbon black Sensor on a virtual machine.
Perfmon Utility for WMI performance logging. Enables performance monitoring between the Guest SDK and the WMI environment.
VmwTimeProvider Time provider for VMware virtual precision clock device.
AppDefense The VMware AppDefense component performs Application Security Monitoring. VMware Appdefense consists of glxgi.sysgiappdef.sys kernel mode drivers and gisvc.exe user mode service.
FileIntrospection The NSX File Introspection driver, vsepflt.sys is the first of the two guest introspection drivers. You can install it separately, without installing the NSX Network Introspection driver.

Note:This component is dependent on the VMCI driver.
NetworkIntrospection The NSX Network Introspection driver, vnetflt.sys is the second of the two guest introspection drivers.

Note:This component is dependent on the VMCI driver.

VMware Tools 10.2.5 supports vnetWFP driver for Windows 7 and later.

ServiceDiscovery The Service Discovery component enables the discovery of various services running inside a virtual machine.

Note:This user-mode component is dependent on the VMCI driver.
DeviceHelper The VMware Device Helper component helps to perform a device check and swap in your virtual machine.

Note:This user-mode component is dependent on the VMCI driver.
Hgfs Hgfs is a VMware shared folders driver that allows files to be shared between your virtual machine and the host computer.

You can use this driver, if you plan to use this virtual machine with VMware Workstation, Player, or Fusion.

Note:

  • If you exclude this feature, you cannot share a folder between your virtual machine and the host system.
  • This component is dependent on the VMCI driver.
SVGA The VMware SVGA driver enhances the performance of your virtual video card.

Note:If you exclude this feature, it limits the display capabilities of your virtual machine.
VMXNet The VMware VMXNet networking driver enhances the performance of your virtual network card.
VMXNet3 The VMware VMXNet3 networking driver enahnces the performance of your virtual network card (ndis5/ndis6). This is the Next-generation VMware VMXnet networking driver for virtual machines that use virtual hardware version 7 and higher.

For more information, see the VMware Knowledge Base article KB 1001805.

VMXNET3 adds several new features, such as multiqueue support (also known as ‘Receive Side Scaling’ in Windows), IPv6 offloads, and MSI/MSI-X interrupt delivery.

VMXNET 3 is not related to VMXNET or VMXNET 2.

Receive Side Scaling is enabled by default.

VMware Tools 10.3.0 adds receive data ring support for Windows VMXNET3 driver.

Virtual hardware version 7 corresponds to ESX/ESXi 4.x compatibility.

PVSCSI The VMware Paravirtual SCSI adapters enhances the performance of your paravirtual SCSI devices.
EFIFW The EFIFW driver is used for EFI Firmware update.
MemCtl The Memory Control Driver provides enahnced memory management of the virtual machine.

You can use this driver, if you plan to use a virtual machine in the vSphere environment.

Note:If you exclude this feature, it hinders the memory management capabilities of the virtual machine running in a vSphere environment.
Mouse The VMware PS2 Mouse driver enhances the performance of your virtual PS2 mouse.

Note:If you exclude this feature, the mouse performance of your virtual machine will decrease.
MouesUsb The VMware USB Mouse Driver enhances performance of your USB mouse.
Audio The Audio driver provides audio for your virtual sound card.

Note:This Audio driver is for 64-bit Windows Vista and later operating systems.
VSS The VSS driver is used for creating automatic backups. This driver is used, if the guest operating system is Windows Vista, Windows Server 2003, or other newer operating systems. Linux and older Windows operating systems use the Filesystem Sync driver.
BootCamp The BootCamp driver provides Mac BootCamp support.

So I decided to install VMware Tools 12 manually and search in the Windows registry for the components:

As you can see, the AppDefense component doesn’t exist anymore in VMware Tools 12. Removing the AppDefense component from the unattended VMware Tools installation command fixed the problem.

e:\setup64.exe /S /v "/qb REBOOT=R ADDLOCAL=All REMOVE=Hgfs,CBHelper,VmwTimeProvider,VSS,NetworkIntrospection,FileIntrospection" /l c:\windows\temp\vmware_tools_install.log

I filled in a feedback form on the VMware Tools 12 documentation page to change to remove the AppDefense component.

Configure Microsoft Teams offloading in VMware Horizon

With VMware Horizon 8 or the new naming format, Horizon 2006 (YYMM) Microsoft Teams offloading / media optimization is supported. Media Optimization for Microsoft Teams redirects audio calls, video calls, and viewing desktop shares for a seamless experience between the client system and the remote session without negatively affecting the virtual infrastructure and overloading the network.

What is supported

The Media Optimization for Microsoft Teams offers the following features:

  • Accepting and making audio and video calls
  • Multiparty audio and video conferencing
  • Transfer, forward, mute, hold, and resume a call
  • PSTN calls via dial pad
  • Desktop screen sharing
  • Multi monitor screen sharing and screen picker for screen sharing
  • Volume control from the remote desktop
  • Active speaker identification

Limitations

Media Optimization for Microsoft Teams has the following limitations:

To enable this feature you need  to configure the following settings:

  • Install Horizon 2006 client and enable media optimization.
  • Import the Horizon 2006 GPOs and enable the Group Policy setting for Microsoft Teams
  • Perform a machine-wide installation of Microsoft Teams on the golden image

In this example, I will configure a Windows 10 client with a custom Horizon 2006 client installation, import and configure the GPO settings for Microsoft Teams on the Domain Controller and install Microsoft Teams on the Windows 10 Golden Image.

Horizon client

Install a custom installation of the Horizon client.

  • Download the Horizon 2006 client, link
  • Install the client and select “Customize installation”

  • Scroll down and select “Media Optimization for Microsoft Teams”
  • After the installation reboot the Windows client

VMware Horizon Group Policies

 Download and configure the Microsoft Teams GPO.

  • Download the GPO bundle from the VMware  download site

  • Extract the .zip file
  • Copy all the files to the %systemroot%\PolicyDefinitions folder on your Active Directory
  • Create a GPO and configure the Teams offloading settings:
    • Computer Configuration
      • Policies
        • Administrative Templates
          • VMware View Agent Configuration
            • VMware HTML5 Features
              • VMware WebRTC Redirection Features

  • Enable the Media Optimization for Microsoft Teams setting

 

 

VDI – Golden Image

Install the Microsoft Teams client on a Windows 10 32 or 64 bits OS.

  • Download the 32 or 64 bits Teams client, here is a link to the 64-bits version, link
  • Perform a machine-wide installation because Teams won’t work properly with a per-user installation on a non-persistent setup.
msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSER=1 ALLUSERS=1

More information on installing Microsoft Teams can be found here, link. More information on installing VMware Teams can be found here, link.

Check session mode

To check if the Teams session is running in optimized, failback, or natively (without optimization) mode in the VDI session go the Teams client. In the Teams client go the the user account and navigate to about and select version. As you can see in the picture below, the session is optimized (VMware Media Optimized) which means offloading works.

Conclusion

After configuring these settings Microsoft Teams offloading is configured. For Microsoft Teams offloading you need at least an advanced Horizon license. Microsoft Teams offloading is now available in the Horizon standard subscription license, see link.

NVMe SSDs are not recognized anymore after upgrading to VMware ESXi 7

Last week VMware released vSphere 7. The first thing I did was upgrading my homelab. My homelab has two  hosts (Shuttle SH370R6 Plus and a Shuttle SH370R8 Plus). After upgrading my hosts from VMware ESXi 6.7 Update 3 to VMware ESXi 7, the NVMe SSDs are not recognized anymore. I Have the following NVMe SSD disks in the hosts:

  • Samsung SSD 970 EVO 1TB NVMe
  • Samsung SSD 950 PRO 512GB NVMe

My college and fellow vExpert Jesper Alberts encountered the same problem with his Supermicro X9DRL-iF and Samsung 970 EVO MZ-V7E1T0BW NVMe SSD homelab.

To fix this, perform a clean installation of VMware ESXi 7. After the clean installation, the NVMe disks are recognized.

Update May 16, 2020: Jeffrey Kusters experienced the same problem and was able to provide William Lam the support bundle of the host that failed the upgrade. William Lam and the VMware support team discovered quickly that we used the wrong esxcli update command (esxcli software vib update). The correct command to upgrade an ESXI host is: esxcli software profile update. William explains the commands in his blog found here, link.

So the steps when upgrading a standalone ESXi host are:

  • Stop the VMs on the ESXi host
  • Enter Maintenance Mode
  • Copy to VMware ESXI offline bundle to a datastore with enough space available. In this example I use the “nfs01” datastore
  • SSH to the host and perform the following command: esxli software sources profile list -d /vmfs/volumes/<datastore>/<ESXofflinebundle.zip>
[root@esxi01:~] esxcli software sources profile list -d /vmfs/volumes/nfs01/ISO/VMware-ESXi-7.0.0-15843807-depot.zip
Name                          Vendor        Acceptance Level  Creation Time        Modification Time
----------------------------  ------------  ----------------  -------------------  -----------------
ESXi-7.0.0-15843807-standard  VMware, Inc.  PartnerSupported  2020-03-16T10:48:54  2020-03-16T10:48:54
ESXi-7.0.0-15843807-no-tools  VMware, Inc.  PartnerSupported  2020-03-16T10:48:54  2020-03-16T10:48:54
  • This list the image profiles available from the offline bundle
  • Execute the command: esxcli software sources profile update -d /vmfs/volumes/<datastore>/<ESXiOfflineBundle.zip> -p <Image profile>
[root@esxi01:~] esxcli software sources profile update -d /vmfs/volumes/nfs01/ISO/VMware-ESXi-7.0.0-15843807-depot.zip -p ESXi-7.0.0-15843807-no-tools
  • When the upgrade is completed successfully, reboot the ESXi host
  • Log in and exit the maintenance mode on the ESXi host

Thanks, to  Jeffrey and William for solving this problem. Great community work!