DEV Community

Eric
Eric

Posted on

Information about Flutter Windows Runner.rc file

I am relatively new to Flutter and trying to understand the fields that appear in the windows/runner/Runner.rc. Is there any official documentation that describes each of these fields, their specific purpose, and any limitations in their values?

So far, all I've found in the official documentation is this:

Building Windows apps with Flutter

Which provides this very vague advice:

Finally, further properties for the app executable itself can be found in the Runner.rc file in the windows\runner directory. Here you can change the copyright information...

For example, for ProductName, it would be helpful to know how it is used (e.g. displayed in the title bar, present in the file metadata, etc.). It would also be helpful to know about any limitations to its value (e.g. cannot include XXX characters) or limitations to its length (e.g. cannot be longer than NNN characters). While the name clearly states that it is a "product name", this is very limited information.

This same sort of information would be helpful for each of the fields. I'd appreciate anyone sharing whatever information, beyond the obvious, you can about each of the fields.

I'll get it started by listing the fields that appear in the template file and my best guesses for the ones I (might) care about, which appear in the StringFileInfo block.

CompanyName - The company name. My guesses: Provides value of AssemblyCompanyAttribute for assembly. No character limitations. Length limitation is unknown. Appears in "About" dialog for application and in executable/DLL file details.

FileDescription - The file description. My guesses: Provides value of AssemblyDescriptionAttribute for assembly. No character limitations. Length limitation is unknown. Appears in "About" dialog for application and in executable/DLL file details.

FileVersion - The file version. My guesses: Provides value of AssemblyFileVersionAttribute for assembly. Limited to characters (and format?) valid for a version (n.n.n.n). Length limitation is unknown. Unknown appearance.

InternalName - The internal name. No guesses.

LegalCopyright - The legal copyright. My guesses: Provides value of AssemblyCopyrightAttributefor assembly. No character limitations. Length limitation is unknown. Appears in "About" dialog for application and in executable/DLL file details.

OriginalFilename - The original file name. No guesses.

ProductName - The "friendly" name of the product. My guesses: Provides value of AssemblyProductAttribute of assembly. No character limitations. Length limitation is unknown. Appears in Window title, "About" dialog, and in executable/DLL file details.

ProductVersion - The product version. My guesses: Provides the version for the assembly (Assembly.GetName().Version). Limited to characters (and format?) valid for a version (n.n.n.n). Length limitation is unknown. Appears in "About" dialog for application and in executable/DLL file details.

The following other fields also appear. I have no guesses with regard to them:

ICON
VERSION_AS_NUMBER
FILEVERSION
PRODUCTVERSION
FILEFLAGSMASK
FILEFLAGS
FILEOS
FILETYPE
FILESUBTYPE

I'll try to come back and summarize/edit a final response that adds whatever information people are willing to share. If someone has access to the official Flutter documents, feel free to reuse whatever information is in that final response.

Thank you.

Top comments (0)