Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Vix vmrun doesn't work with VMware Player

I am trying to run a batch file on my virtual machine through VIX vmrun.

For starters it doesn't even want to start. When I try this in the command line:

vmrun -T player start "D:\myUser\VMWare\Windows7\Windows 7.vmx"

It says:

Unable to connect to host.

Error: The specified version was not found

Any workaround for this? I heard it has something to do with VIX config files not handling VMware Player properly, but haven't found out anything specific.

For the mention I have VMware Player version 7.1.2 and VIX version 1.13.

Also I don't want to buy Workstation.

like image 601
Rex Feral Avatar asked Aug 13 '15 10:08

Rex Feral


People also ask

Does Hyper V interfere with VMware?

VMware Workstation and Hyper-V are not compatible. Remove the Hyper-V role from the system before running VMware Workstation. VMware Workstation and Device/Credential Guard are not compatible.

Does VMware Player have virtual network editor?

In VMware Workstation Pro a physical network adapter to be bridged can be selected in the Virtual Network Editor. The Virtual Network Editor can be found in the menu: Edit > Virtual Network Editor.

Is VMware Player compatible with Windows 11?

Note: There will be no issue related to the minimum requirement of windows 11, the VM should install and boot fine.


4 Answers

Expanding on the answer from Paul-et-Mickey (don't have 50 points and can't comment, sorry). If you're using the latest version of player etc., don't forget to include minor version. So for me it was

player 19 vmdb 15.0.2 Workstation-12.0.0

The file to edit is in /usr/lib/vmware-vix/vixwrapper-config.txt.

like image 133
Randelung Avatar answered Sep 19 '22 07:09

Randelung


As comments in vixwrapper-config file has explained, it's the wrapper between VIX tools (ie vmrun) and your VMware engines (WorkStation, Player, ESX, and so on). Now if you want to wrap this VIX to a VMplayer 15.0.0 (to be able to use 'vmrun -T player ...'), then you must have a line

player 19 vmdb 15.0.0 Workstation-12.0.0

where 'player' is for VMPlayer, '19' is the API version, 'vmdb' is the form of your virtual machines repository, '15.0.0' the version of your VMPlayer, and the sub-directory where API's libraries are located.

In few words, duplicate an existing line with 'player' and adapt to proper version of your VMPlayer.

like image 23
Paul-et-Mickey Avatar answered Sep 21 '22 07:09

Paul-et-Mickey


Ok, managed to get it working, here's how:

1) In the VMware\VMware VIX folder there is a vixwrapper-config.txt file. Make a backup and overwrite the following over the content of the file:

#@Version-Info
#
# VixAllProducts revision mapping for Workstation/Player
#
# This file translates product version specifications into the appropriate Vix
# implementations.
#
# Each @Version-Info line has 5 white-space seperated entries:
#
#    provider-type: ws, esx, viserver, etc
#    apiVersion: the apiVersion supported, as passed in from VixHost_Connect()
#    ipc-type: none, vmdb, vmodl, cim
#    product-version: the product version string
#
#    implementation-directory: the path to the library that implements the
#          version described by the first 4 parameters
#
#
# The configuration is based on the first 4 fields, which describe
# the product.  The 5th field is the location.  To force it to try
# multiple location, the same configuration can be repeated.  Note that
# list is built in LIFO order, so the latest entry in the configuration
# will be the first used.  If for some reason that value fails, it will
# continue through any other matches.


# Workstation 11.1.2 and Player 7.1.2
ws        17  vmdb  11.1.2 Workstation-11.0.0-and-vSphere-6.0.0
player    17  vmdb   7.1.2 Workstation-11.0.0-and-vSphere-6.0.0
ws-shared 17  none  11.1.2 Workstation-11.0.0-and-vSphere-6.0.0

# EOF

2) If there is a folder named "Workstation-11.0.0-and-vSphere-6.0.0" then move it somewhere else as a backup

3) Make a copy of the folder "Workstation-10.0.0-and-vSphere-5.5.0" and name it:

Workstation-11.0.0-and-vSphere-6.0.0

4) Don't forget to add the vmrun path to the user variable: PATH (the vmrun path should be something like this: "C:\Program Files (x86)\VMware\VMware VIX\")

Now the vmrun commands should work.

The following command opens the VM:

vmrun -T player start "D:\myUser\VMWare\Windows7\Windows 7.vmx"

like image 45
Rex Feral Avatar answered Sep 22 '22 07:09

Rex Feral


Got here with the same problem but a different version of VMWare player.

From what I tried I think that you only need to have a line in the vixwrapper-config.txt that redirects the version of the player you have to one of these "Workstation-xxxx" folders in the VIX folder.

What worked in my case is this line in the vixwrapper-config.txt

player    17  vmdb  12.1.1 Workstation-10.0.0-and-vSphere-5.5.0

Where:

  • 12.1.1 is the version of the player (as per the About box in the Help or properties in the executable)

  • Workstation-10.0.0-and-vSphere-5.5.0 is the name of a folder in the VIX program folder (I have chosen the highest version. There seems to be no need to copy and rename folders, just pointing it to an existing one seems enough)

  • 17 : I have no idea but it works :-) (tried some other values and it worked too)

like image 28
tru7 Avatar answered Sep 22 '22 07:09

tru7