operation420.net wrote:What is a deterministic text file?
I've heard the term 'deterministic' used in conjunction with computers, if I remember correctly, meaning (I think) that there is a determinable reason for what the computer does, as in it's not magic or borrowers causing a bug, etc.
I might be using the term wrong, but I meant that Virtualbox.xml, even if not technically XML-standard-aligned, still has certain sections written in certain formats established by Virtualbox, so the VM registry should always look the same in a particular version, and being text can be accessed quite predictably without special routines needed.
operation420.net wrote:I would load the XML contents into memory and close the file as soon as that's done.
A problem with this is that VboxSVC carries its own understanding of Virtualbox.xml and all .vbox files in RAM, and the files may be outdated, even by a very short time, which is the other side of that warning message. Your parser may then get stale information. Vboxmanage can get this information always up-to-date from VboxSVC, and is not limited by what version the Virtualbox.xml is written in.
operation420.net wrote:the VDI file, which in most cases is the same folder as the .vbox file.
That's the default, but they can be elsewhere, and from many years of reading the forum I'll mention it's surprising how many times they are elsewhere. Depending on the VM's disk usage there are times where the disk file has to be elsewhere.
'vboxmanage showvminfo "VM name" ' also shows the disks attached to the VM and the path to the disk files.
'vboxmanage' will always provide up-to-date info from VboxSVC, which can be more recent than Virtualbox.xml or the .vbox files. 'vboxmanage' will get the correct info every time even if no Virtualbox processes are running, since 'vboxmanage' calls up its own fresh VboxSVC at that time to properly parse all the XML files.
operation420.net wrote:would it be possible for VirtualBox to be unable to open a .vbox file made in an older version?
Older versions than the installed Virtualbox should be compatible. Running a later VM on an earlier Virtualbox version may have problems.