質問

私はリソースファイルを持っていないDLLに構築VC 6.0プロジェクト(のDSP)の数を持っています。既存のプロジェクトにリソースを追加する方法任意のアイデア?

このプロジェクトは、まもなくメジャーリリースのために当然であると私は現在、1を欠いたもののdllにFILEVERSIONを追加したいです。私はちょうど私がこのプロジェクトに継承されてきた他のすべてのように、これらのDSPを作るしようとしているので、DLLは、リリース前にrecompiliedされます(私たちは簡単に実行されている正確に何を伝えることができるように、ファイルや製品バージョンなどを持っていないことお客様のマシンます。

一つの答え:(?別のプロジェクトからコピー)*の.RCとRESOURCE.Hファイルを作成し、VC6ファイルビューでypurプロジェクトのソースフォルダに追加します。リソースビューが自動的に作成されます。あなたの助けみんなのおかげでは、私が必要なポインタを与えます。

役に立ちましたか?

解決

ただ、DLLのリソースファイルにVERSIONINFOブロックを追加します。

.rcファイルを開き、「挿入/リソース... /バージョン」を使用して、あなたはデフォルトの束を持つ新しいVERSIONINFOリソースを取得します。プロジェクトがすでにリソースファイルを持っていない場合は、「ファイル/新規... /リソーススクリプト」。

を使用して1を追加することができます あなたが独自のロールしたい場合は、

、例のVERSIONINFOブロックは、<のhref =「http://msdn.microsoft.com/en-us/library/aa381058.aspx」のrel =「nofollowをnoreferrer」に記載してあります> VERSIONINFO のMSDNのページでます:

#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

他のヒント

あなたは常に、DLL自体の内部バージョンを変更するeditbin /VERSION:#[.#]を使用してみてください。そうでなければ、それはプロジェクトのリソースファイル内のエントリである必要があります。

パトリック、VERSIONINFOブロックは実際にあなたのDLLにバージョン管理を追加追加しましたか? そして、実際ので、私はあなたが置くとバイナリの上にマウスは、バージョン管理のポップアップをし...か、右クリック>プロパティ>詳細は、どちらか...

バージョン管理を示していないことを意味します

これはexeファイル(複数可)のために動作しますが、私は図書館の何にブロックVERSIONINFO追加するたびに現れます。

EB

さて、今日は自分の無知を共有するだろうと思った...どうやらこのバージョン管理が唯一本当にexeファイル(複数可)とDLL(S)のために働くので、私の希望は、バージョニング

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top