Ric*_*rdo 4 delphi versioninfo delphi-10-seattle
我在装有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
Run Code Online (Sandbox Code Playgroud)
这个.rc
文件是通过编译的brcc32.exe
.
在项目文件中,加载.RES
生成的文件信息brcc32
.
{$R VersionInfoFactor.res}
Run Code Online (Sandbox Code Playgroud)
在我使用葡萄牙语在Windows机器上进行构建和安装后,我可以通过右键单击可执行文件,选择"属性",然后选择"详细信息"来查看版本信息.
到目前为止,这并不是什么新鲜事,它显示了.rc
文件中通知的数据.
现在,如果我用另一种语言在Windows机器上安装相同的可执行文件,我将无法再查看此信息.
有谁知道原因?
您的资源脚本仅提供葡萄牙语版本信息,而不提供其他语言.所以,当然,非葡萄牙机器不会显示任何有意义的东西.
您需要提供多个StringFileInfo
块,每个块对应您要支持的每种语言.你应该有一个美国英语块,这是在没有提供特定语言的块时的后备.
您应按此顺序组织块,按照本地化的分层资源组织:
另外,您不需要brcc32.exe
手动调用.如果.rc
在{$R}
指令中包含文件名,Delphi编译器可以为您执行此操作:
{$R VersionInfoFactor.res VersionInfoFactor.rc}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
613 次 |
最近记录: |