Как я устанавливаю информацию о версии для существующего .exe, .dll?

101
задан Danny Beckett 17 September 2013 в 00:23
поделиться

5 ответов

Существует этот инструмент <глоток> ChangeVersion [1]

Список функций (от веб-сайта):

  • интерфейс командной строки
  • поддержка.EXE.DLL и.RES файлов
  • обновление FileVersion и ProductVersion на основе маски версии
  • добавляют/изменяют/удаляют, что строки ключа версии
  • корректируют флаги файла (отладка, особенная, частная и т.д.)
  • , файлы проекта обновления (.bdsproj | .bpr | .bpk | .dproj)
  • добавляют/изменяют, что значок
  • главного приложения использует ini файл с конфигурацией
  • поддержка Windows Vista (повышение потребностей)
  • легкий интегрироваться в непрерывную среду сборки

Полное раскрытие: Я знаю парня, который записал этот инструмент, я раньше работал с ним. Но это также означает, что я знаю, что он делает качественное программное обеспечение;)

<час>

<глоток> [1] ссылка мертва. Кажется, существует зеркально отраженная версия в download.cnet.com .

10
ответ дан Wolf 24 November 2019 в 04:42
поделиться

выше ответ от @Danny Beckett помог мне много, я поместил его в пакетный файл, он работает превосходный

    @echo off
    :start1
    set /p newVersion=Enter version number [?.?.?.?]:
    if "%newVersion%" == "" goto start1
    :start2
    set /p file=Enter EXE name [for 'program.exe' enter 'program']:
    if "%file%" == "" goto start2
    set newVersion=%newVersion%
    for /f "tokens=1-4 delims=." %%a in ('echo %newVersion%') do (set ResVersion=%%a,%%b,%%c,%%d)
    (
    echo:VS_VERSION_INFO VERSIONINFO
    echo:    FILEVERSION    %ResVersion%
    echo:    PRODUCTVERSION %ResVersion%
    echo:{
    echo:    BLOCK "StringFileInfo"
    echo:    {
    echo:        BLOCK "040904b0"
    echo:        {
    echo:            VALUE "CompanyName",        "MyCompany\0"
    echo:            VALUE "FileDescription",    "TestFile\0"
    echo:            VALUE "FileVersion",        "%newVersion%\0"
    echo:            VALUE "LegalCopyright",     "COPYRIGHT © 2019 MyCompany\0"
    echo:            VALUE "OriginalFilename",   "%file%.exe\0"
    echo:            VALUE "ProductName",        "Test\0"
    echo:            VALUE "ProductVersion",     "%newVersion%\0"
    echo:        }
    echo:    }
    echo:    BLOCK "VarFileInfo"
    echo:    {
    echo:        VALUE "Translation", 0x409, 1200
    echo:    }
    echo:}
    ) >Resources.rc     &&      echo setting Resources.rc
    ResourceHacker.exe -open resources.rc -save resources.res -action compile -log CONSOLE
    ResourceHacker -open "%file%.exe" -save "%file%Res.exe" -action addoverwrite -resource "resources.res"  -log CONSOLE
    ResourceHacker.exe -open "%file%Res.exe" -save "%file%Ico.exe" -action addskip -res "%file%.ico" -mask ICONGROUP,MAINICON, -log CONSOLE
    xCopy /y /f "%file%Ico.exe" "%file%.exe"
    echo.
    echo.
    echo your compiled file %file%.exe is ready
    pause

[как примечание стороны, я использовал хакера ресурса также для компиляции res файла, не GoRC]

0
ответ дан 24 November 2019 в 04:42
поделиться

Или вы можете воспользоваться бесплатной StampVer для файлов Win32 exe / dll.
Это только изменит версии файла и продукта, если у них уже есть ресурс версии. Он не может добавить ресурс версии, если он не существует.

22
ответ дан 24 November 2019 в 04:42
поделиться

Существует Resource Tuner Console от Heaventools Software.

Resource Tuner Console - это инструмент командной строки, который позволяет разработчикам автоматизировать редактирование различных типов ресурсов в большом количестве 32- и 64-разрядных исполняемых файлов Windows.

См., В частности, Изменение переменных версии и обновление Более подробная информация представлена ​​на странице информации о версии .

2
ответ дан 24 November 2019 в 04:42
поделиться

Как насчет чего-то вроде этого?

verpatch /va foodll.dll %VERSION% %FILEDESCR% %COMPINFO% %PRODINFO% %BUILDINFO%

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

14
ответ дан 24 November 2019 в 04:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: