Pregunta

Tengo un número de VC 6.0 proyectos (DSP), que construyen DLL que no tienen archivos de recursos. ¿Alguna idea de cómo añadir recursos en un proyecto existente?

El proyecto está previsto para un lanzamiento importante en breve y quiero añadir un fileversion a esos archivos DLL que actualmente carecen de uno. Los archivos DLL se recompilied antes de la liberación, así que estoy tratando de hacer estos DSPs como todos los demás que he heredado con este proyecto (que tiene un archivo y versión del producto, etc, así que podemos decir fácilmente exactamente lo que se está ejecutando en una la máquina del cliente.

Una respuesta: Crear un archivo de .rc * y resource.h (copia de otro proyecto?) Y agregarlo a la carpeta de origen de ypur proyecto en vista de archivos VC6. La vista de recursos se crea automáticamente. Gracias por su ayuda chicos, me dio los punteros que necesitaba.

¿Fue útil?

Solución

Sólo tiene que añadir un bloque VERSIONINFO al archivo de recursos para el DLL.

Abrir el archivo .rc, y el uso de "Insertar / Recursos ... / Versión" y obtendrá un nuevo recurso VERSIONINFO con un grupo de valores predeterminados. Si el proyecto no tiene ya un archivo de recursos, se puede añadir uno usando "Archivo / Nuevo ... / escritura de recursos".

Si quieres liar, un ejemplo VERSIONINFO bloque se da en la página de MSDN para VERSIONINFO :

#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"

#ifndef DEBUG
#define VER_DEBUG                   0
#else
#define VER_DEBUG                   VS_FF_DEBUG
#endif

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_DLL
FILESUBTYPE     VFT2_UNKNOWN
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
        /* The following line should only be modified for localized versions.     */
        /* It consists of any number of WORD,WORD pairs, with each pair           */
        /* describing a language,codepage combination supported by the file.      */
        /*                                                                        */
        /* For example, a file might have values "0x409,1252" indicating that it  */
        /* supports English language (0x409) in the Windows ANSI codepage (1252). */

        VALUE "Translation", 0x409, 1252

    END
END

Otros consejos

Siempre puede intentar el uso editbin /VERSION:#[.#] cambiar la versión dentro de la propia DLL. De lo contrario, debe haber una entrada en el archivo de recursos del proyecto.

Patrick, hizo añadiendo el bloque versionInfo realidad añadir el control de versiones de la DLL? Y por real me refiero a cuando se pasa el ratón sobre el binario hace el emergente de versiones ... o haga clic derecho> Propiedades> Detalles de versiones no muestra tampoco ...

Esto funciona para exe (s), pero cada vez que agrego versionInfo bloques de una biblioteca no aparece nada.

EB

Bueno, pensé que podría compartir mi ignorancia hoy ... al parecer esto sólo funciona de versiones para exe (s) y DLL (s) así termina mi esperanza de usarlo en las bibliotecas estáticas para una visión rápida del control de versiones

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top