> > As I understand it, Windows has a standard set of DLL/EXE metadata
> > (build number, copyright, product name yadda yadda
> > yadda) stored in some well-known segment of the file. Is there any
> > reason we can't put the version number somewhere in there
> and use some
> > standard API to extract it, rather than running the .exe to make it
> > tell us? (Not that I have any idea how to do such a thing.)
>
> We could, see VerQueryValue() and friends on MSDN.
> It *requires* that the version number *always* follows the
> pattern a.b.c.d, where each of a-d is a 32 bit unsigned int.
> Meaning there is no way to determine RCs etc, unless we start
> tracking build numbers in some way.
>
Actually, if we want the string, we could always create a string table
resource and store it in that. And then load it with LoadString(). We
just need to be sure we store the exact same thing there, but a string
resource will support any null terminated string.
//Magnus