OK. PB is using Pelles C (PORC). Following the syntax guidelines in the Pelles C help, I have created a resource file that works, with less constants and C style syntax. The curly brackets can be replaced with BEGIN and END if you prefer. I included the define for VFT_DLL in case you are compiling a DLL instead of an APP (.exe).
HelloWorld.rc
Code: Select all
#define VOS_NT_WINDOWS32 0x4L
#define VFT_DLL 0x2L
#define VFT_APP 0x1L
1 VERSIONINFO
FILEVERSION 1,2,0,0
PRODUCTVERSION 1,2,0,0
FILEOS VOS_NT_WINDOWS32
FILETYPE VFT_APP
{
BLOCK "StringFileInfo"
{
BLOCK "080904B0" // UK English, Unicode
{
VALUE "CompanyName", "MyCo\0"
VALUE "ProductName", "Hello World\0"
VALUE "ProductVersion", "v1.2\0"
VALUE "FileVersion", "v1.2\0"
VALUE "FileDescription", "Hello World App\0"
VALUE "InternalName", "Hello World\0"
VALUE "OriginalFilename", "Hello World.exe\0"
VALUE "LegalCopyright", "(c) 2016 MyCo\0"
VALUE "LegalTradeMarks", "MyCo\0"
VALUE "Email", "info@myco.co.uk\0"
VALUE "Website", "https://www.myco.co.uk\0"
}
}
BLOCK "VarFileInfo"
{
VALUE "Translation", 0x0809, 0x4B0 // UK English, Unicode
}
}
The PB IDE has a list of the country codes supported on Windows. For example 0409 is US English, 0c04 is Chinese Mandarine.
Interestingly, the Email and Website Values do not work (PB 5.51 x86). They do not work via the IDE Compiler either. It may be that Windows 7 does not support them - perhaps they show up on Win8/10.
Command Line Syntax
I'm actually running the Command Line Compiler via a small app using RunProgram() = less typing = less typos = flexibility, plus all info/errors can be displayed in a single MessageRequester.