After an OVA is deployed, it is possible to "hardcode" persistent VMware guestinfo variables by appending them to the VM's vmx file, as explained here:
http://www.virtuallyghetto.com/2011/01/how-to-extract-host-information-from.html (Option 1)
I've been able to do this by:
1. Deploying an OVA created from VMware Studio using vSphere client without powering on.
2. Downloading the vmx file from the created virtual machine and appending the desired variable, eg:
guestinfo.myapp.variable="initial-value"
3. Uploading the vmx file back to the original location.
4. Powering on the VM.
Now I can use the conventional VMware tools utilities to read and write persistently.
vmtoolsd --cmd "info-get guestinfo.myapp.variable"
vmtoolsd --cmd "info-set guestinfo.myapp.variable new-value"
Updated values remain persistent after power-off or reboot which is exactly what I need.
So how to I tell VMware Studio at OVA build time, or specify in the OVF file before deployment that I want guestinfo.myapp.variable to be created in the VM's vmx file?