Hi,
Since upgrading to VIX 1.7 today, my C# program fails on the line:
VixCOM.IJob jobHandle = hostHandle.OpenVM(vmxFileName, null);
With the vix error VIX_E_LICENSE.
I'm connecting to an ESXi box which reports that it's licensed when I look at it with the client infrastructure tool.
I'm wondering if anybody else has seen this problem or could give me a suggestion as to what's going on?
I've rebooted after installing VIX 1.7 and have recompiled all my code that uses it.
Any help would be appreciated,
-Scott
This seems to be a new limitation on Vix 1.7 running against ESX 4.0 - you need a licensed server or a server running in demo mode to run guest commands. I didn't read this anywhere, but I am pretty sure that's correct and intentional.
Thanks for the reply. I'm on version 3.5.0.153875 of ESXi, and it appears to be licensed. If I look at it using VMWare Infrastructure Client it says under the Configuration tab, Licensed Features section:
ESX Server Standalone Licensed for 1 CPU
It all seems strange. It worked fine with VIX 1.6.
This is confusing - I was confused too. A free ESXi is also "licensed". You can tell that the system is licensed as free ESXi when it's not licensed to load vCenter Agent or use vStorage APIs. Run the server in eval mode and everything will work or buy a real license (no I don't work for VMWare ). I find this "feature" terrible, but I can't blame VMWare for wanting to make more $.
Most of these license changes came about with ESXi 3.5 U4. A "basic" license is needed for most API to function. I also recommend getting this license, the VDDK functionality itself is worth it alone.
I haven't changed my ESXi version. I've got a couple of client machines that use VIX to manipulate VMs on the ESXi box. One of these client machines I upgraded from VIX 1.6 to VIX 1.7, and now I get the licensing error just on the VIX 1.7 client, the VIX 1.6 client works ok.
The ESXi box is licensed using a serial number. That should be ok shouldn't it? I can't seem to put it back to evaluation mode because it says 'unable to change license state as the license server is not available.'
As far as I understand it, I don't need to license the client machines that have VIX on, it's only the ESXi box that needs licensing. Is this correct?
So either, VIX 1.7 is checking some license condition that VIX 1.6 should have done, but didn't, or VIX 1.7 is erroneously detecting my ESXi box as not licensed when it is.
1.7 was fixed to force the licensing check.
So either, VIX 1.7 is checking some license condition that VIX 1.6 should have done, but didn't, or VIX 1.7 is erroneously detecting my ESXi box as not licensed when it is.
The former. The ESXi free license prohibits automation via APIs. Sorry.