Many thanks, Allan!
Following the sequence of your suggestions:
VMware Workstation is the same on both machines (VMware Workstation 17 Pro version 17.5.2 build-23775571).
VMware Tools, according to what I see in vmware.log, look the same. Both logs say:
TOOLS installed legacy version 10252, available legacy version 12416
VMX build 23775571, UI build 23775571
ToolsISO: Selected Tools ISO 'winPreVista.iso' for 'winxppro' guest
TOOLS setting legacy tools version to '10252' type 1, manifest status is 9
Using ToolsMinVersion = 8384
Using ToolsMaxVersion = 10252
Guest: toolbox-dnd: Version: build-14792880
VGAuthService.exe and vmtoolsd.exe are both running on both guest machines.
On both guests, vmtoolsd.exe is version 10.0.12.2406 and VGAuthService.exe is version 10.0.12.30580.
I can’t find tools.conf - not in ProgramData nor the folder which contains the .vmx file nor on the guest machine. Does it exist in my version?
listDirectoryInGuest and runProgramInGuest both run fine on the successful machine and fail on the other machine with "Error: one of the parameters was invalid".
I tried explicitly quoting the guest path but it made no difference.
So, I've tried to follow your advice and hope that I followed it correctly. Feeling like a failure, however, I snooped further in the vmware.log files.
## 1 ####################################
These errors appear in vmware.log on the failing host, immediately after I’ve run checkToolsState
(nothing similar appears in the successful host’s log):
FILE: FileLockMemberValues file size failure on 'D:\Dell500mVirtualMachine\CloneOfDell500m.vmsd.lck\M62872.lck': The data is invalid
SNAPSHOT: SnapshotConfigInfoLockVmsd: Failed to lock 'D:\Dell500mVirtualMachine\CloneOfDell500m.vmsd': 'Insufficient permission to access the file'.
SNAPSHOT: SnapshotConfigInfoReadEx failed for file 'CloneOfDell500m.vmx': Insufficient permission to access the file (3)
SnapshotVMX_GetDictionaryBuffers: GetDictionaryBuffers failed. Insufficient permission to access the file (3).
VMAutomation: Vix unable to get snapshot tree.
In spite of these log messages, checkToolsState returns a value of “running” and a zero exit code.
I’m puzzled because on neither machine, at no time do I see a vmsd.lck file. Why is this lock file an issue then, on the failing machine?
## 2 ####################################
The very next lines in the failing system’s log are:
SOCKET 7 (908) send error 10054: An existing connection was forcibly closed by the remote host
Vix: [mainDispatch.c:2813]: VMAutomation: Connection Error (4) on connection 1.
SOCKET 7 (908) send error 10054: An existing connection was forcibly closed by the remote host
… whereas the corresponding lines in the successful system’s log are:
SOCKET 7 (3092) recv error 10054: An existing connection was forcibly closed by the remote host
Vix: [mainDispatch.c:2813]: VMAutomation: Connection Error (1) on connection 1.
(These are the only two lines in the log following checkToolsState execution on the successful machine.)
What strikes me is that checkToolsState triggers a send error on one host and a recv error on the other, and the Connection Error numbers differ. Is this meaningful?
## 3 ####################################
My execution of fileExistsInGuest results in only two lines in the log, for both machines, even though the command fails on one machine. Failing:
SOCKET 8 (1828) recv error 10054: An existing connection was forcibly closed by the remote host
Vix: [mainDispatch.c:2813]: VMAutomation: Connection Error (1) on connection 2.
Successful machine:
SOCKET 8 (3164) recv detected remote shutdown
Vix: [mainDispatch.c:2813]: VMAutomation: Connection Error (4) on connection 2.
Is the difference meaningful?
###################################
I'm very willing to follow any more hints. And I appreciate any insights. Thanks again.