I've done a lot of searching, and I've never seen an answer on how to deal with getting VMWare Workstation to open a host application with something from inside the guest OS. Everything I've tried results in a message box saying "make sure the virtual machine's configuration allows the guest to open host applications", but there's no configuration anywhere that actually talks about that. The only times there are solutions related to his are to make it go the other way and open it inside the VM instead of punting it to the host. Is this just something that Workstation doesn't actually support and vmwarehostopen.exe is just part of tools for everyone and only works with other products?
Windows 10 Pro for both. Both 64 bit.
For workstation: 16.1.1 build-17801498
Test file was in a shared folder since with the first try, it made a comment about not being in a shared folder, which seems like an odd extra step, but I can manage that at least. So it's at least in a location that would without a doubt be accessible to the host.
So you want that a guest can launch the execution of "download-latest-ransom-ware-installer-from ugly-apps.org-and-run-it-against-the-host.exe" ???
If you open a door for actions like that you open a very large and ugly can of worms.
This is a feature of VMware Fusion and has been a feature for as long as I can remember, not sure if it was there already with version 1 (can't remember), but it might have been.
In VMware Fusion there's the following setting for this:
This setting does not exist in VMware Workstation AFAIK. This doesn't mean it doesn't work, but it isn't exposed as an option.
I just checked and the checkbox above adds the following setting to the virtual machine's vmx file:
proxyApps.publishToGuest = "TRUE"
If you then change the default file association of the type of file that you want to open at the host to "default host application" then
it will open your file at the host (at least it does on Fusion, no idea with Workstation, I'll let you do the testing)
Note that this will ONLY open files with host application that are in a vmware shared folder.
Trying to open this type of file on a location within the VM's disk now triggers the "The file <yada yada yada> is not in a folder shared with the host and cannot be opened by the host." error which IMO makes this feature of very limited use.
Of course if you do _not_ set it as default application you can use the "Open With" option in Windows explorer context menu to use the host's application and then it might not be so bad.
hope this helps,
Well, adding proxyApps.publishToGuest = "TRUE" to the VMX got rid of the message, but doesn't actually open anything. Thanks for the suggestion.
And to the other replies, yes, it's a possible attack surface. But so are shared folders in general. It's curious you assume I'd just be going around wanting it to open random things downloaded from questionable sources.
Yes I am not even sure if it can work on Workstation.
Hadn't even tried it myself yet on Workstation (only on Fusion) until just a few minutes ago.
What I do see in the log is these lines:
2021-04-22T16:21:05.508-07:00| vmx| I005: GuestRpc: Got RPCI vsocket connection 21, assigned to channel 3.
2021-04-22T16:21:05.508-07:00| vmx| I005: GuestRpc: Closing channel 3 connection 21
2021-04-22T16:23:14.870-07:00| vmx| I005: GuestRpc: Got RPCI vsocket connection 22, assigned to channel 3.
2021-04-22T16:23:14.870-07:00| vmx| I005: GuestRpc: Closing channel 3 connection 22
That was me trying to open a jpg image two times via the default host application.
So it seems like the host does in fact see the VM trying to do something via RPC from the guest OS.
We do however still miss the part on the host acting on that info.