Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Улучшение информированности о версиях: настройка пользовательских полей в исполняемых файлах Windows

Delphi , Интернет и Сети , Браузер

Вопрос о возможности добавления дополнительных полей в информацию о версии файла исполняемых программ актуален для разработчиков, которые хотят предоставить пользователям более подробные сведения о программном продукте. В частности, разработчики, использующие среду Lazarus для программирования на Object Pascal, могут захотеть добавить информацию о версиях используемых инструментов, таких как FPC (Free Pascal Compiler), версию Lazarus, а также информацию о последнем коммите из репозитория Git.

Стандартные поля версии файла

Согласно документации по Windows, существуют стандартные поля, которые можно использовать для хранения информации о версии файла. К ним относятся:

  • Name
  • Comments
  • CompanyName
  • FileDescription
  • FileVersion
  • InternalName
  • LegalCopyright
  • LegalTrademarks
  • OriginalFilename
  • PrivateBuild
  • ProductName
  • ProductVersion
  • SpecialBuild

Добавление пользовательских полей

Для добавления пользовательских полей в информацию о версии файла необходимо модифицировать блок StringFileInfo в структуре VS_VERSION_INFO. Это можно сделать, добавив новые элементы VALUE с уникальными именами и соответствующими значениями. Например:

VALUE "FPCVersion", FPC_VERSION_STR
VALUE "LazarusVersion", LAZARUS_VERSION_STR
VALUE "GitCommit", GIT_COMMIT_STR

где FPC_VERSION_STR, LAZARUS_VERSION_STR, GIT_COMMIT_STR - это строковые константы, содержащие соответствующие значения версий и коммитов.

Пример кода

Давайте рассмотрим пример кода, который демонстрирует, как можно добавить пользовательские поля в информацию о версии файла:

#define VER_FILEVERSION             3,10,349,0
#define VER_FILEVERSION_STR         "3.10.349.0\0"
#define VER_PRODUCTVERSION          3,10,0,0
#define VER_PRODUCTVERSION_STR      "3.10\0"
#define VER_FPC_VERSION             1,0,10,0
#define VER_FPC_VERSION_STR         "1.0.10\0"
#define VER_LAZARUS_VERSION         2,0,0
#define VER_LAZARUS_VERSION_STR     "2.0\0"
#define VER_GIT_COMMIT              "abcdefg"
#define VER_GIT_COMMIT_STR          "abcdefg\0"

VS_VERSION_INFO VERSIONINFO
FILEVERSION     VER_FILEVERSION
PRODUCTVERSION  VER_PRODUCTVERSION
FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
FILEFLAGS       (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG)
FILEOS          VOS__WINDOWS32
FILETYPE        VFT_APP
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904E4"    // английский язык, кодовая страница ANSI
        BEGIN
            VALUE "CompanyName",      VER_COMPANYNAME_STR
            VALUE "FileDescription",  VER_FILEDESCRIPTION_STR
            VALUE "FileVersion",      VER_FILEVERSION_STR
            VALUE "InternalName",     VER_INTERNALNAME_STR
            VALUE "LegalCopyright",   VER_LEGALCOPYRIGHT_STR
            VALUE "ProductName",      VER_PRODUCTNAME_STR
            VALUE "ProductVersion",   VER_PRODUCTVERSION_STR
            VALUE "FPCVersion",       VER_FPC_VERSION_STR
            VALUE "LazarusVersion",   VER_LAZARUS_VERSION_STR
            VALUE "GitCommit",        VER_GIT_COMMIT_STR
        END
    END
    // ... другие блоки и поля ...
END

Подтвержденный ответ

Добавление пользовательских полей в информацию о версии файла действительно возможно. Эти поля будут отображаться в свойствах файла в Windows Explorer и могут быть извлечены с помощью функции FileVersionInfo в программном обеспечении.

Альтернативный ответ

На основе ответа на вопрос о настройке пользовательских полей в проектах C++, можно утверждать, что добавление информации в блок StringFileInfo позволит отобразить дополнительные данные в диалоге свойств файла в Windows Explorer. Однако, для подтверждения видимости этих полей, потребуется дополнительная проверка.

Заключение

Добавление пользовательских полей в информацию о версии файла - это эффективный способ предоставить пользователям дополнительные сведения о программном продукте. Разработчикам, работающим в среде Lazarus, рекомендуется использовать данный подход для улучшения информированности о версиях, используемых инструментах и истории разработки.

Создано по материалам из источника по ссылке.

Улучшение информированности о версиях программных продуктов через настройку пользовательских полей в исполняемых файлах Windows.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-04-29 09:55:23/0.0035510063171387/0