tag software para pagina oficial mp3tag mega editors descargar windows dll versioning exe fileversioninfo

windows - software - tag editor download



¿Cómo configuro la información de la versión para un.exe,.dll existente? (11)

¿Qué tal algo así?

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

Disponible aquí con fuentes completas .

Como parte de nuestro proceso de compilación, necesito establecer la información de la versión para todos nuestros binarios compilados. Algunos de los binarios ya tienen información de versión (agregada en tiempo de compilación) y otros no.

Quiero poder aplicar la siguiente información:

  • nombre de empresa
  • Aviso de copyright
  • nombre del producto
  • Descripción del producto
  • Versión del archivo
  • version del producto

Todos estos atributos están especificados por el script de compilación y deben aplicarse después de la compilación. Estos son binarios estándar (no ensamblados) compilados con C ++ Builder 2007.

¿Cómo puedo hacer esto?


A diferencia de muchas de las otras respuestas, esta solución usa software completamente gratuito.

En primer lugar, crea un archivo llamado Resources.rc como este:

VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,0 PRODUCTVERSION 1,0,0,0 { BLOCK "StringFileInfo" { BLOCK "040904b0" { VALUE "CompanyName", "ACME Inc./0" VALUE "FileDescription", "MyProg/0" VALUE "FileVersion", "1.0.0.0/0" VALUE "LegalCopyright", "© 2013 ACME Inc. All Rights Reserved/0" VALUE "OriginalFilename", "MyProg.exe/0" VALUE "ProductName", "My Program/0" VALUE "ProductVersion", "1.0.0.0/0" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x409, 1200 } }

A continuación, use GoRC para compilarlo en un archivo .res usando:

GoRC /fo Resources.res Resources.rc

(ver mi comentario a continuación para un espejo de GoRC.exe )

Luego use Resource Hacker en modo CLI para agregarlo a un .exe existente:

ResHacker -add MyProg.exe, MyProg.exe, Resources.res,,,

¡Eso es!


Esta es la herramienta ChangeVersion [1]

Lista de características (del sitio web):

  • interfaz de línea de comando
  • soporte para archivos .EXE, .DLL y .RES
  • actualizar FileVersion y ProductVersion en base a una máscara de versión
  • agregar / cambiar / eliminar cadenas de teclas de versión
  • ajustar las banderas del archivo (depuración, especial, privado, etc.)
  • actualizar archivos de proyecto (.bdsproj | .bpr | .bpk | .dproj)
  • agregar / cambiar el ícono de la aplicación principal
  • usar archivo ini con configuración
  • Soporte de Windows Vista (necesita elevación)
  • fácil de integrar en un entorno de construcción continua

Divulgación completa: Conozco al tipo que escribió esta herramienta, solía trabajar con él. Pero esto también significa que sé que él hace software de calidad;)

[1] el enlace está muerto. Parece haber una versión duplicada en download.cnet.com .


Esta es la mejor herramienta que he visto para el trabajo, permite un control total sobre todos los recursos de archivos, incluyendo VersionInfo.

Ver: ResourceEditor por Anders Melander .



Lo estoy haciendo sin una herramienta adicional. Acabo de agregar los siguientes archivos a mi proyecto de aplicación Win32.

Un archivo de encabezado que define algunas constantes que podemos reutilizar en nuestro archivo de recursos e incluso en el código del programa. Solo necesitamos mantener un archivo. Gracias al equipo de Qt que me mostró cómo hacerlo en un proyecto Qt, ahora también funciona en mi aplicación Win32.

---- [version.h] ----

#ifndef VERSION_H #define VERSION_H #define VER_FILEVERSION 0,3,0,0 #define VER_FILEVERSION_STR "0.3.0.0/0" #define VER_PRODUCTVERSION 0,3,0,0 #define VER_PRODUCTVERSION_STR "0.3.0.0/0" #define VER_COMPANYNAME_STR "IPanera" #define VER_FILEDESCRIPTION_STR "Localiza archivos duplicados" #define VER_INTERNALNAME_STR "MyProject" #define VER_LEGALCOPYRIGHT_STR "Copyright 2016 [email protected]" #define VER_LEGALTRADEMARKS1_STR "All Rights Reserved" #define VER_LEGALTRADEMARKS2_STR VER_LEGALTRADEMARKS1_STR #define VER_ORIGINALFILENAME_STR "MyProject.exe" #define VER_PRODUCTNAME_STR "My project" #define VER_COMPANYDOMAIN_STR "www.myurl.com" #endif // VERSION_H

---- [MyProjectVersion.rc] ----

#include <windows.h> #include "version.h" VS_VERSION_INFO VERSIONINFO FILEVERSION VER_FILEVERSION PRODUCTVERSION VER_PRODUCTVERSION BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904E4" 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 "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR VALUE "ProductName", VER_PRODUCTNAME_STR VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 1252 END END


O puede consultar los StampVer freeware StampVer para Win32 exe / dll.
Solo cambiará el archivo y las versiones del producto aunque ya tengan un recurso de versión. No puede agregar un recurso de versión si no existe uno.


Si bien no es un proceso por lotes, Visual Studio también puede agregar / editar recursos de archivos.

Simplemente use Archivo-> Abrir-> Archivo en .EXE o .DLL. Esto es útil para arreglar la información de la versión después de la compilación o para agregarla a los archivos que no tienen estos recursos para empezar.


Un poco tarde para la fiesta, pero como la estaba buscando (y podría necesitar encontrarla de nuevo alguna vez), esto es lo que hice para incluir la versión, el nombre de la compañía, etc. en mi DLL de C ++ bajo VS2013 Express:

  1. Creado y editado un archivo dllproj.rc, como se indicó anteriormente.
  2. Se agregó la línea "rc.exe dllproj.rc" como un paso previo a la compilación en el proyecto DLL.
  3. Se agregó dllproj.res a la carpeta de recursos para el proyecto.

¡Espero que esto ayude!


verpatch es bueno, pero no maneja caracteres Unicode ...
prueba ResourceLib


rcedit es relativamente nuevo y funciona bien desde la línea de comandos: https://github.com/atom/rcedit

$ rcedit "path-to-exe-or-dll" --set-version-string "Comments" "This is an exe" $ rcedit "path-to-exe-or-dll" --set-file-version "10.7" $ rcedit "path-to-exe-or-dll" --set-product-version "10.7"

También hay un módulo de NPM que lo envuelve desde JavaScript y una tarea de Grunt en caso de que esté usando Grunt.