Hinzufügen von Ressourcendatei VC6 dll
-
21-08-2019 - |
Frage
Ich habe eine Reihe von VC 6.0-Projekte (DSPs), die in DLLs bauen, die keine Ressourcendateien haben. Jede Idee, wie Ressourcen in ein vorhandenes Projekt hinzufügen?
Das Projekt soll für eine Major-Release kurz und ich möchte noch eine Fileversion auf diese DLLs ein fehlt hinzuzufügen. Die DLLs werden vor der Freigabe recompilied werden, so versuche ich gerade diese DSPs wie alle anderen zu machen ich mit diesem Projekt geerbt haben (die eine Datei und Produktversion etc tun haben, so dass wir einfach genau sagen kann, was auf eine läuft Kundenmaschine.
Eine Antwort: Eine * .rc und resource.h Datei (Kopie aus einem anderen Projekt?) Und fügen Sie sie in den Quellordner von ypur Projekt in VC6 Dateiansicht. Die Ressourcenansicht wird automatisch erstellt. Vielen Dank für Ihre Hilfe Jungs, gab mir die Zeiger ich brauchte.
Lösung
Nur einen Block VERSION auf die Ressource-Datei für die DLL hinzufügen.
Öffnen Sie die RC-Datei, und verwenden Sie „Einfügen / Ressource ... / Version“ und Sie werden eine neue Ressource VERSION mit einem Bündel von Vorgaben erhalten. Wenn das Projekt nicht bereits eine Ressource-Datei haben, können Sie fügen Sie eine „Datei / Neu ... / Ressourcen Script“.
Wenn Sie Ihre eigene Rolle wollen, ein Beispiel VERSIONINFO
Block auf der MSDN-Seite für VERSION :
#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
Andere Tipps
Sie können jederzeit Gebrauch editbin /VERSION:#[.#]
versuchen, die Version in dem DLL selbst zu ändern. Ansonsten sollte es einen Eintrag in der Ressourcendatei des Projekts sein.
Patrick, hat das Hinzufügen der version Block die Versionierung Ihre DLL tatsächlich hinzufügen? Und tatsächlich ich meine, wenn Sie mit der Maus über die binäre funktioniert die Versionierung Popup ... oder Rechtsklick> Eigenschaften> Details zeigt keine Versionsverwaltung entweder ...
Dies funktioniert für exe (s), aber wenn ich version Blöcke zu einer Bibliothek nichts hinzufügen erscheint.
EB
Okay, dachte, ich würde meine Unwissenheit heute teilen ... anscheinend diese Versionierung nur wirklich für exe funktioniert (n) und dll (n) endet, so meine Hoffnung auf statische Bibliotheken für einen schnellen Überblick über die Versionierung verwenden