Domanda

Ho un certo numero di VC 6.0 progetti (DSP), che costruiscono in DLL che non hanno file di risorse. Qualsiasi idea di come aggiungere le risorse in un progetto esistente?

Il progetto è dovuto per una major release a breve e voglio aggiungere un FileVersion a quelle DLL attualmente manca uno. Le DLL saranno recompilied prima del rilascio quindi sto solo cercando di fare questi DSP come tutti gli altri che ho ereditato con questo progetto (che hanno un file e versione del prodotto, ecc in modo che possiamo facilmente dire esattamente ciò che è in esecuzione su un la macchina del cliente.

Una risposta: Crea un * RC e il file resource.h (copia da un altro progetto?) E aggiungerlo alla cartella di origine di ypur progetto in vista dei file VC6. Il punto di vista delle risorse viene creata automaticamente. Grazie per il vostro aiuto ragazzi, mi ha dato i puntatori di cui avevo bisogno.

È stato utile?

Soluzione

Basta aggiungere un blocco VERSIONINFO per il file di risorse per la DLL.

Aprire il file RC, e usare "Inserisci / Resource ... / Version" e si otterrà una nuova risorsa VERSIONINFO con un gruppo di default. Se il progetto non dispone già di un file di risorse, è possibile aggiungere uno usando "File / Nuovo ... / Script risorse".

Se si desidera ripristinare il proprio, un blocco di esempio VERSIONINFO è dato sul pagina di MSDN per 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

Altri suggerimenti

Si può sempre provare uso editbin /VERSION:#[.#] cambiare la versione all'interno della DLL stessa. In caso contrario, dovrebbe essere una voce nel file di risorse del progetto.

Patrick, ha fatto aggiungendo il blocco versioninfo in realtà aggiungere il controllo delle versioni per la DLL? E per vero intendo quando si passa il mouse sopra il binario fa la comparsa delle versioni ... oppure fare clic destro> Proprietà> Dettagli non mostra alcun controllo delle versioni o ...

Questo funziona per exe (s), ma ogni volta che aggiungo versioninfo blocchi per una libreria non si presenta.

EB

Va bene, ho pensato di condividere la mia ignoranza di oggi ... a quanto pare questo versioning funziona davvero solo per exe (s) e dll (s) così si conclude la mia speranza di usarlo su librerie statiche per una visualizzazione rapida del versioning

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top