VMware {code} Community
ScottLangham
Contributor
Contributor

Since upgrading from VIX 1.6 to 1.7, VIX_E_LICENSE on Open

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

0 Kudos
7 Replies
dblock
Enthusiast
Enthusiast

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.

ScottLangham
Contributor
Contributor

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.

0 Kudos
dblock
Enthusiast
Enthusiast

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 Smiley Happy). I find this "feature" terrible, but I can't blame VMWare for wanting to make more $.

0 Kudos
fixitchris
Hot Shot
Hot Shot

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.

0 Kudos
ScottLangham
Contributor
Contributor

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.

0 Kudos
lemke
VMware Employee
VMware Employee

1.7 was fixed to force the licensing check.

0 Kudos
admin
Immortal
Immortal

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.

0 Kudos