gpt4 book ai didi

delphi - EXE 属性中未显示 VERSIONINFO 资源

转载 作者:行者123 更新时间:2023-12-03 15:23:01 26 4
gpt4 key购买 nike

我在运行 Windows 10 的计算机上使用 Delphi 10.0 Seattle。

我们的系统有多个可执行文件。我们通过 .rc 文件使用版本信息:

1 VERSIONINFO
FILEVERSION 18,2,0,1660
PRODUCTVERSION 18,2,0,0
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS (VS_FF_SPECIALBUILD|VS_FF_PRERELEASE)
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "041604E4"
BEGIN
VALUE "CompanyName", "BLA BLA BLA\0"
VALUE "FileDescription", "BLA BLABLA - DESCRICAO\0"
VALUE "FileVersion", "18.2.0.1660\0"
VALUE "InternalName", "nomexecutavel.exe\0"
VALUE "LegalCopyright", "Copyright 2018\0"
VALUE "LegalTrademarks", "BLA BLA BLA é marca registrada\0"
VALUE "OriginalFilename", "nomeexecutavel.exe\0"
VALUE "ProductName", "nomedoproduto\0"
VALUE "ProductVersion", "18.2.0\0"
VALUE "SpecialBuild", "Para Homologação\0"
VALUE "GitRevision", "790d79ee92af023d6beac953072c45b0385df17f\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0416, 1252
END
END

这个.rc文件是通过brcc32.exe编译的。

工程文件中加载brcc32生成的.RES文件信息。

{$R VersionInfoFactor.res}

在 Windows 计算机上用葡萄牙语进行构建和安装后,我可以通过右键单击可执行文件,选择“属性”,然后选择“详细信息”来查看版本信息。

到目前为止,这并不是什么新鲜事,它显示了 .rc 文件中通知的数据。

Version Ok

现在,如果我在 Windows 计算机上以另一种语言安装相同的可执行文件,我将无法再查看此信息。

有谁知道原因吗?

Not Ok has an error of versioninfo

最佳答案

您的资源脚本仅提供葡萄牙语的版本信息,不提供其他语言的版本信息。因此,当然,非葡萄牙语机器不会显示任何有意义的内容。

您需要提供多个 StringFileInfo block ,每个 block 对应您想要支持的一种语言。您应该有一个美国英语 block ,这是未提供特定语言 block 时的后备措施。

您应该按照Hierarchical Organization of Resources for Localization的顺序组织 block 。 :

  • 美国英语
  • 中立文化
  • 特定文化

顺便说一句,您不需要手动调用brcc32.exe。如果您在 {$R} 指令中包含 .rc 文件名,Delphi 编译器可以为您完成此操作:

{$R VersionInfoFactor.res VersionInfoFactor.rc}

关于delphi - EXE 属性中未显示 VERSIONINFO 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48789290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com