<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Dateiversion einer DLL bestimmen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>wie kann ich denn die Dateiversion einer DLL programmatisch bestimmen? V.a., wenn ich selbst diese DLL bin?</p>
<p>Und zwar geht es nicht um die Dateiversion, die im Versionstab des Eigenschaftenrequesters ganz oben steht, sondern um die, die in der Spalte &quot;Elementname:&quot; im Versionsinformationsblock (untere 2 Drittel des Requesters)!</p>
<p>Habe bisher nur ein Bsp. gefunden, bei dem man die Versionsinformation mittels GetFileVersionInfo ermittelt. Für diese Funktion habe ich allerdings bisher keine Möglichkeit gefunden, die Informationen im unteren Bereich auszulesen!</p>
<p>Bei diesem Thread hier: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-79011-and-highlight-is-dateiversion.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-79011-and-highlight-is-dateiversion.html</a> geht der Link im letzten Beitrag nicht mehr!</p>
<p>Kann mir da bitte jmd weiterhelfen?</p>
<p>Vielen Dank schon einmal!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237959/dateiversion-einer-dll-bestimmen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Apr 2026 23:46:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237959.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Apr 2009 07:53:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Sat, 04 Apr 2009 07:53:17 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>wie kann ich denn die Dateiversion einer DLL programmatisch bestimmen? V.a., wenn ich selbst diese DLL bin?</p>
<p>Und zwar geht es nicht um die Dateiversion, die im Versionstab des Eigenschaftenrequesters ganz oben steht, sondern um die, die in der Spalte &quot;Elementname:&quot; im Versionsinformationsblock (untere 2 Drittel des Requesters)!</p>
<p>Habe bisher nur ein Bsp. gefunden, bei dem man die Versionsinformation mittels GetFileVersionInfo ermittelt. Für diese Funktion habe ich allerdings bisher keine Möglichkeit gefunden, die Informationen im unteren Bereich auszulesen!</p>
<p>Bei diesem Thread hier: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-79011-and-highlight-is-dateiversion.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-79011-and-highlight-is-dateiversion.html</a> geht der Link im letzten Beitrag nicht mehr!</p>
<p>Kann mir da bitte jmd weiterhelfen?</p>
<p>Vielen Dank schon einmal!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690706</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Sat, 04 Apr 2009 07:53:17 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Sat, 04 Apr 2009 08:19:18 GMT]]></title><description><![CDATA[<p>Version-Resource hinzufügen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690710</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690710</guid><dc:creator><![CDATA[Re$]]></dc:creator><pubDate>Sat, 04 Apr 2009 08:19:18 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Sat, 04 Apr 2009 08:55:16 GMT]]></title><description><![CDATA[<p>Wo hinzufügen? Zur DLL? Da ist sie dabei, und wird auch angezeigt, wenn man sich die Eigenschaften der DLL anschaut.</p>
<p>Nur wie lese ich das programmiertechnisch aus? Vor allem, wie kann ich diese Information innerhalb der DLL selbst am besten bestimmen?</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690716</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Sat, 04 Apr 2009 08:55:16 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Sat, 04 Apr 2009 09:17:41 GMT]]></title><description><![CDATA[<p>Siehe Paul DiLascia CModuleVersion<br />
<a href="http://www.microsoft.com/msj/0498/c0498.aspx" rel="nofollow">http://www.microsoft.com/msj/0498/c0498.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690720</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 04 Apr 2009 09:17:41 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Mon, 06 Apr 2009 08:12:22 GMT]]></title><description><![CDATA[<p>Danke für den Link.</p>
<p>Leider funktioniert das bei MS angegebene Bsp. für die Bestimmung aller Language-Codepage-Versionen nicht (s. <a href="http://msdn.microsoft.com/en-us/library/ms647464(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms647464(VS.85).aspx</a>).</p>
<p>Allerdings ist hier: <a href="http://msdn.microsoft.com/en-us/library/ms646994(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms646994(VS.85).aspx</a> sie Rede von &quot;multiple version resources&quot;.</p>
<p>Gibt es denn da noch eine (einfachere) Möglichkeit an die Informationen in diesem unteren Block zu kommen?</p>
<p>Es handelt sich dabei auch immer um dieselbe: Den Wert für den Eintrag &quot;Dateiversion&quot;?!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691577</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Mon, 06 Apr 2009 08:12:22 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Mon, 06 Apr 2009 08:45:04 GMT]]></title><description><![CDATA[<p>GetFileVersionInfo()<br />
GetFileVersionInfoSize()<br />
VerQueryValue()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691595</guid><dc:creator><![CDATA[g34g43g]]></dc:creator><pubDate>Mon, 06 Apr 2009 08:45:04 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Mon, 06 Apr 2009 09:41:22 GMT]]></title><description><![CDATA[<p>Was geht nicht?</p>
<p>Die Dateiversion steht als doppelter DWORD Wert im statischen Block!<br />
Der Stringwert spielt i.A. keine Rolle.</p>
<p>VS_FIXEDFILEINFO<br />
<a href="http://msdn.microsoft.com/en-us/library/ms646997(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms646997(VS.85).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1691634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1691634</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 06 Apr 2009 09:41:22 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Mon, 06 Apr 2009 21:27:58 GMT]]></title><description><![CDATA[<p>Hm, dachte die FileVersion ist die Dateiversion aus dem Versioninformation-Block und diese ist nur via Sprache und Codepage zugreifbar!?</p>
<p>Ich bekomme nun mein gewünschtes Ergebnis mit folgendem:</p>
<pre><code class="language-cpp">const char fileVersionBlock[] = TEXT(&quot;\\StringFileInfo\\%04x%04x\\FileVersion&quot;);
char subBlock[strlen(fileVersionBlock) + 9];
sprintf(subBlock, fileVersionBlock, 2057, 1252);
UINT cbTranslate;
LPVOID lpBuffer;
VerQueryValue(versionInfo, subBlock, &amp;lpBuffer, &amp;cbTranslate);
...
</code></pre>
<p>Das tut für mich. Language und Codepage habe ich direkt aus dem Resourcefile.</p>
<p>Geht das Ganze auch zuverlässig ohne Sprache und Codepage?</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692022</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Mon, 06 Apr 2009 21:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 06:08:47 GMT]]></title><description><![CDATA[<p>Du brauchst keinen Sub-Block zu lesen.<br />
Die Versioninfos die zum Beispiel Relevant für das Setup sind stehen in VS_FIXEDFILEINFO.</p>
<p>Dene Methode ist nicht zuverlässig, da sie nur eine spezifische Sprache berücksichtigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692068</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 07 Apr 2009 06:08:47 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 07:49:48 GMT]]></title><description><![CDATA[<p>Hm. Liefert mir der Wert aus dem statischen Bereich denn das, was in folgendem Bild in der markierten FileVersion enthalten ist?</p>
<p><a href="http://www.windowsfordevices.com/files/misc/microsoft_jet.jpg" rel="nofollow">http://www.windowsfordevices.com/files/misc/microsoft_jet.jpg</a> (Kann leider kein eigenes Bild posten, drum hier der Verweis auf eines im Web)</p>
<p>Dieser Wert ist doch ein String, oder? Die Fileversion-Werte aus der VS_IXEDFILEINFO Struktur sind aber wohl binär abgelegt (d.h. hier wüsste ich nicht, wie ich z.B. auf einen Wert von 4.00.9511.0 kommen könnte!)!</p>
<p>Oder versteh ich da was falsch?</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692098</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Tue, 07 Apr 2009 07:49:48 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 08:15:46 GMT]]></title><description><![CDATA[<p>Wie wäre es einfach mal mit lesen der MSDN?<br />
VS_FIXEDFILEINFO:</p>
<blockquote>
<p>dwFileVersionMS<br />
Specifies the most significant 32 bits of the file's binary version number. This member is used with dwFileVersionLS to form a 64-bit value used for numeric comparisons.<br />
dwFileVersionLS<br />
Specifies the least significant 32 bits of the file's binary version number. This member is used with dwFileVersionMS to form a 64-bit value used for numeric comparisons.</p>
</blockquote>
<p>Daraus folgt:</p>
<pre><code>VS_FIXEDFILEINFO fi;
...
srintf(szAnyThing,&quot;%d.%d.%d.%d&quot;,
 HIWORD(fi.dwFileVersionMS),LOWORD(fi.dwFileVersionMS),
 HIWORD(fi.dwFileVersionLS),LOWORD(fi.dwFileVersionLS));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1692106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692106</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 07 Apr 2009 08:15:46 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 08:52:08 GMT]]></title><description><![CDATA[<p>Bin an der Stelle in C und der Windows-API leider noch zu unerfahren. Diese Variante hatte ich zuerst. Dabei kam bei mir aber der Wert 1.0.0.0 raus, dieser ist in meinem Fall der Wert des &quot;File version&quot;-Eintrages oben im Bild.</p>
<p>Bei mir unterscheiden sich die beiden Werte, im verlinkten Bild sind sie leider gleich!</p>
<p>Daher dachte ich, dass das Auslesen aus VS_FIXEDFILEINFO nur den oberen Wert liefert, nicht den unteren!</p>
<p>Oder sehe ich das falsch?</p>
<p>Den Wert brauche ich für die Weiterverarbeitung dann eh als String und da ich die DLL und die Resource-Datei selbst erstelle ist das Auslesen mit der festen Sprache erst einmal nicht das Problem. (Das Auslesen soll sein, keine Hartkodierung der Version in der DLL).</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692120</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Tue, 07 Apr 2009 08:52:08 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 09:02:22 GMT]]></title><description><![CDATA[<p>Dann beschätige Dich mal mit den Versioninfos.<br />
XP+Vista zeigt nur das an was in FILEVERSION steht.<br />
VALUE &quot;FileVersion&quot; ist wurscht.</p>
<p>Und was hast Du da stehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692128</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 07 Apr 2009 09:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 12:00:05 GMT]]></title><description><![CDATA[<p>Ich habe da 1.0.0.0 stehen. Aber diesen Wert möchte ich nicht auslesen. Ich brauche von meiner eigenen DLL, zu der ich auch die Resource-Datei erstelle den Wert, der hinter <strong>VALUE &quot;FileVersion&quot;,</strong> steht und möchte diesen auslesen!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692263</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Tue, 07 Apr 2009 12:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 13:25:54 GMT]]></title><description><![CDATA[<p>Reth schrieb:</p>
<blockquote>
<p>Ich habe da 1.0.0.0 stehen. Aber diesen Wert möchte ich nicht auslesen. Ich brauche von meiner eigenen DLL, zu der ich auch die Resource-Datei erstelle den Wert, der hinter <strong>VALUE &quot;FileVersion&quot;,</strong> steht und möchte diesen auslesen!</p>
<p>Ciao</p>
</blockquote>
<p>Und nochmal: Unter Vista ist dieser Wert irrelevant! Genauso wie diese Info für MSI irrelevant ist. Ja nicht mal in bestimmten Toolstips wird der angezeigt.<br />
Es zählt nur was oben unter VS_FIXEDFILEINFO steht.</p>
<p>Wenn man Versionsinfos schon pflegt, dann sollte man es richtig machen...</p>
<p>Wenn Du ihn dennoch willst musst Du een den korrekten Subknoten angeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692332</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 07 Apr 2009 13:25:54 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiversion einer DLL bestimmen on Tue, 07 Apr 2009 13:58:14 GMT]]></title><description><![CDATA[<p>Ich dachte, genau das mache ich (den korrekten Subknoten angeben)! Allerdings mit Hilfe von Sprache und Codepage. Und meine Frage ist: Geht das auch ohne Sprache und Codepage in irgend einer Form?</p>
<p>Nebenbei: Diese Information ist auch nur für mich zur Laufzeit relevant!</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1692348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1692348</guid><dc:creator><![CDATA[Reth]]></dc:creator><pubDate>Tue, 07 Apr 2009 13:58:14 GMT</pubDate></item></channel></rss>