On one of my Windows 2016 VM when I was installation VMware tools it was ending prematurely as soon as file copy phase is done.

Tried multiple VMware tools version but still issue remain same.

After checking vminst logs on the VM found that tools were detecting the guest OS as 2008 instead of 2016.

For a while I was thinking why ? So I tried few more tweaks by changing the Guest OS family to 2008/2012/2016 but the issue persists.

vminst.log:

========================

2019-07-17T19:46:21.911+02:00| instUtils-build-12406962| I0: Checking System Version

2019-07-17T19:46:21.911+02:00| instUtils-build-12406962| I1: MsiUtil_SetProperty: Setting property VMSYSVER = :WIN2008:WINDOWS SERVER 2008:STANDARD EDITION:BIT=64:SPMAJ=0:SPMIN=0:BUILD=6000:

2019-07-17T19:46:21.911+02:00| instUtils-build-12406962| I0: Done System Version

2019-07-17T19:46:21.911+02:00| instUtils-build-12406962| I0: Checking System Version

2019-07-17T19:46:21.911+02:00| instUtils-build-12406962| I1: MsiUtil_SetProperty: Setting property VMSYSVER = :WIN2008:WINDOWS SERVER 2008:STANDARD EDITION:BIT=64:SPMAJ=0:SPMIN=0:BUILD=6000:

2019-07-17T19:46:21.911+02:00| instUtils-build-12406962| I0: Done System Version

========================

So decided to enable MSI logging on the Guest OS.

You can refer https://support.microsoft.com/en-in/help/223300/how-to-enable-windows-installer-logging

MSI installer logs:

========================

MSI (s) (AC:38) [19:46:21.911]: Executing op: CustomActionSchedule(Action=VM_PostInstall.A05FAB36_E570_4B23_8805_3633A16E8D19,ActionType=3073,Source=BinaryData,Target=CAQuietExec,CustomActionData=”C:ProgramDataVMwareVMware CAFpmeinstallpostInstall.bat” “C:Program FilesVMwareVMware ToolsVMware CAFpme” “C:ProgramDataVMwareVMware CAFpme”)

MSI (s) (AC:38) [19:46:21.911]: Creating MSIHANDLE (59) of type 790536 for thread 6712

MSI (s) (AC:68) [19:46:21.911]: Invoking remote custom action. DLL: C:windowsInstallerMSIF5F4.tmp, Entrypoint: CAQuietExec

MSI (s) (AC:CC) [19:46:21.911]: Generating random cookie.

MSI (s) (AC:CC) [19:46:21.911]: Created Custom Action Server with PID 3004 (0xBBC).

MSI (s) (AC:B0) [19:46:21.911]: Running as a service.

MSI (s) (AC:B0) [19:46:21.911]: Hello, I’m your 32bit Elevated Non-remapped custom action server.

MSI (s) (AC!28) [19:46:21.911]: Creating MSIHANDLE (60) of type 790531 for thread 2856

CAQuietExec:  Entering CAQuietExec in C:windowsInstallerMSIF5F4.tmp, version 3.8.1128.0

MSI (s) (AC!28) [19:46:21.911]: Closing MSIHANDLE (60) of type 790531 for thread 2856

MSI (s) (AC!28) [19:46:21.911]: Creating MSIHANDLE (61) of type 790531 for thread 2856

CAQuietExec:  "C:ProgramDataVMwareVMware CAFpmeinstallpostInstall.bat" "C:Program FilesVMwareVMware ToolsVMware CAFpme" "C:ProgramDataVMwareVMware CAFpme"

MSI (s) (AC!28) [19:46:21.911]: Closing MSIHANDLE (61) of type 790531 for thread 2856

MSI (s) (AC!28) [19:46:21.911]: Creating MSIHANDLE (62) of type 790531 for thread 2856

CAQuietExec:  Error 0x80070005: Command failed to execute.

MSI (s) (AC!28) [19:46:21.911]: Closing MSIHANDLE (62) of type 790531 for thread 2856

MSI (s) (AC!28) [19:46:21.911]: Creating MSIHANDLE (63) of type 790531 for thread 2856

CAQuietExec:  Error 0x80070005: CAQuietExec Failed

MSI (s) (AC!28) [19:46:21.911]: Closing MSIHANDLE (63) of type 790531 for thread 2856

CustomAction VM_PostInstall.A05FAB36_E570_4B23_8805_3633A16E8D19 returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox

======================== 

Reason for failure is below batch file execution is failing:

C:ProgramDataVMwareVMware CAFpmeinstallpostInstall.bat

To fix this issue:

1. Copy/download latest VMware tools onto the VM
2. Install VMware tools using below command: 
<vmware tools setup exe> /s /v"/qn ADDLOCAL=All REMOVE=CAF  
3. Let it install and it will automatically reboot your VM

After reboot VMware tools will be installed