Version resource in DLL not visible with right-click

The correct solution is to add to the top of your .rc file:

#include <windows.h>

I was able to see (using reshacker) one difference between my resource and resources that appear on right-click, and that was the name of the resource. So I changed VS_VERSION_INFO to 1; and now the resource is visible on right-click.

1 VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "something Application"
            VALUE "FileVersion", "1, 0, 0, 1"
            VALUE "InternalName", "something"
            VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
            VALUE "OriginalFilename", "something.exe"
            VALUE "ProductName", "something Application"
            VALUE "ProductVersion", "1, 0, 0, 1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END

Try changing your resources to:

 FILEFLAGSMASK 0x3fL

and

    BLOCK "040004e4"

and

VALUE "Translation", 0x400, 1252

I will expand @Stefan answer, according to: StringFileInfo BLOCK statement

Defines a string information block. syntax

BLOCK "StringFileInfo" { BLOCK "lang-charset" {VALUE "string-name", "value" . . . }}

Parameters

lang-charset

Language and character-set identifier pair. It is a hexadecimal string consisting of the concatenation of the language and character-set identifiers specified in the Remarks section.

My case is that I was using the wrong lang-charset and that's why the version details was not showing the version info, this is the correct one:

BLOCK "040904E4"
....
BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x409, 1252
  END

Here the list of language codes and character set