How does Windows interpret multiple VersionInfo resources?

I am currently studying VersionInfo resources for Windows. It is confusing that you can have multiple structures VS_VERSIONINFO/VS_FIXEDFILEINFOin a resource VS_VERSION_INFO.

As I understand it, you can have several resources RT_VERSION->VS_VERSION_INFOwith different language identifiers. (As it shown on the picture)

Langid

These 2 language identifiers ( 0 and 1031) have actually 2 different VS_VERSIONINFO/VS_FIXEDFILEINFOin each.

0is a neutral language and seems to take precedence over your actual local language identifier (which is 1031).

, . VS_VERSIONINFO VS_VERSION_INFO ? Windows , ? , GetFileVersionInfo?

, .

+4
1
  • VS_FIXEDFILEINFO. . .
  • "Windows" ;) , . . , .
  • GetFileVersionInfo, ! VerQueryValue .
  • VS_FIXEDFILEINFO. . .

, , . . , , .

:  - VerQueryValue "\" VS_FIXEDFILEINFO  - VerQueryValue "\ VarFileInfo\Translation"  - "\ StringFileInfo\langId_charset\keyname"

MSDN

+3

Source: https://habr.com/ru/post/1542008/


All Articles