Pergunta

Eu tenho um número de VC 6.0 projetos (DSPs), que construir em DLLs que não possuem arquivos de recursos. Qualquer idéia de como adicionar recursos em um projeto existente?

O projeto está previsto para um grande lançamento em breve e eu quero adicionar um FileVersion para as DLLs atualmente falta um. As DLLs serão recompilied antes do lançamento por isso estou apenas tentando fazer esses DSPs como todos os outros que eu herdados com este projeto (que têm um arquivo e versão do produto etc, para que possamos facilmente dizer exatamente o que está sendo executado em um máquina do cliente.

Uma resposta: Criar um rc * e arquivo resource.h (cópia de outro projeto?) E adicioná-lo para a pasta fonte de ypur projeto em vista arquivo VC6. O ponto de vista de recursos é criada automaticamente. Obrigado pela vossa ajuda caras, me deu as dicas que eu precisava.

Foi útil?

Solução

Basta adicionar um bloco VERSIONINFO para o arquivo de recurso para o DLL.

Abra o arquivo .rc, e use "Insert / Resource ... / Version" e você terá um novo recurso VERSIONINFO com um monte de padrões. Se o projeto ainda não tem um arquivo de recurso, você pode adicionar um usando "Arquivo / Novo ... / Script Resource".

Se você desejar construir sua própria, um bloco de exemplo VERSIONINFO é dada na MSDN página 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

Outras dicas

Você pode sempre tentar uso editbin /VERSION:#[.#] para alterar a versão dentro da própria dll. Caso contrário, ele deve ser uma entrada no arquivo de recurso do projeto.

Patrick, se adicionar o versionInfo bloco realmente adicionar o controle de versão para sua DLL? E pela média real I quando você passa o mouse sobre o binário faz o pop-up versões ... ou clique com o botão direito> Propriedades> Detalhes mostra Sem controle de versão ou ...

Isso funciona para exe (s), mas sempre que eu adicionar versionInfo blocos de biblioteca não mostra nada up.

EB

Tudo bem, pensei que iria partilhar a minha ignorância hoje ... aparentemente isso versionamento realmente só funciona para exe (s) e dll (s) assim termina minha esperança de usá-lo em bibliotecas estáticas para uma visualização rápida do controle de versão

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top