I was under impression what VERSIONINFO resource is a purely Windows invention, however while reading documentation, I stumbled upon VOS_DOS
possible value of fileos
parameter of VERSIONINFO
resource definition statement. Likewise, a binary equivalent, VS_FIXEDFILEINFO
struct have dwFileOS
member, which can have VOS_DOS
value, designating what "The file was designed for MS-DOS." (??).
How can it be? I thought what MZ binary format simply does not have a room for such metadata... Am I missing something, like VERSIONINFO support in the greater MS-DOS versions and some kind of libraries to read it?
There is no standard for resource data for plain MZ files. However, NE and PE files can execute under DOS with a help of a DOS extender. I believe Microsoft themselves used Phar Lap in some versions of Visual C so that they could run the same executable in Windows and DOS.
It seems the NE format has also been used in early versions of MS DOS 4.0.