AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Productversion auslesen liefert unter Vista falschen Wert
Thema durchsuchen
Ansicht
Themen-Optionen

Productversion auslesen liefert unter Vista falschen Wert

Ein Thema von MagicAndre1981 · begonnen am 10. Mai 2007 · letzter Beitrag vom 11. Mai 2007
Antwort Antwort
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#1

Productversion auslesen liefert unter Vista falschen Wert

  Alt 10. Mai 2007, 18:52
Für meine Windowserkennungsroutine brauche ich die Produktversion einer Datei, da diese nur beim Kernel erhöht wird, aber nicht bei anderen aktualisierten Windowsdateien. Nun der Explorer kann das wunderbar anzeigen:

http://img443.imageshack.us/img443/6...xplorerjh1.png

, aber bei mir klappt das nicht. Ich bekomme immer 6.0.6000.20532, also die Dateiversion und nicht die Produktversion.

Delphi-Quellcode:
function GetVersionsInfo(const AFilename :String; var V1,V2,V3,V4:Word):Boolean;
var
  VerInfoSize : Integer;
  VerValueSize : DWord;
  Dummy : DWord;
  VerValue : PVSFixedFileInfo;
  VerInfo : Pointer;
  FName : PChar;
begin
  FName := StrAlloc(Max_Path);
  try
    StrPCopy(FName, AFileName);
    VerInfoSize:=GetFileVersionInfoSize(FName, Dummy);
    Result := False;
    if VerInfoSize > 0 then
    begin
      GetMem(VerInfo,VerInfoSize);
      try
        if GetFileVersionInfo(FName,0,VerInfoSize,VerInfo) then
        begin
          if VerQueryValue(VerInfo,'\',Pointer(VerValue),VerValueSize) then
           with VerValue^ do
           begin
             V1 := dwProductVersionMS shr 16;
             V2 := dwProductVersionMS and $FFFF;
             V3 := dwProductVersionLS shr 16;
             V4 := dwProductVersionLS and $FFFF;
           end;
           Result:=True;
        end;
      finally
        FreeMem(VerInfo,VerInfoSize);
      end;
    end;
  finally
    StrDispose(FName);
  end;
end;
Also hab ich mal den XN Resource Editor geschnappt und siehe da, da wird auch 6.0.6000.20532 als Produktversion angezeigt http://img406.imageshack.us/img406/8...versionxy4.png

Wie schafft der Explorer das?
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
TNoob

Registriert seit: 10. Mai 2007
7 Beiträge
 
Delphi 7 Personal
 
#2

Re: Productversion auslesen kiefert unter Vista falschen Wer

  Alt 10. Mai 2007, 19:13
Es gibt einen Unterschied zwischen Produkt- und Dateiversion.

Hier wurde das schonmal besprochen: Klick

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Productversion auslesen kiefert unter Vista falschen Wer

  Alt 10. Mai 2007, 20:02
Andre,

deine Ueberschrift sollte liefert nicht kiefert heissen
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Productversion auslesen kiefert unter Vista falschen Wer

  Alt 10. Mai 2007, 20:17
Zitat von Mackhack:
Andre,

deine Ueberschrift sollte liefert nicht kiefert heissen
Mist, falsche Taste erwischt, danke


Zitat von TNoob:
Es gibt einen Unterschied zwischen Produkt- und Dateiversion.
das weiß ich ja, deshalb frage ich ja

Aber ich hab die Lösung gefunden. Der Explorer ließt die Produktversion aus der MUI-Datei. Die Produktversion und Dateiversion sind auch bei Vista nach einem Update immer gleich. Nur wenn der Explorer eine MUI-Datei zu der DLL findet, dann ließt der Explorer die Produktversion aus der MUI-Datei.
André
"A programmer is just a tool which converts caffeine into code", daran wirds wohl liegen, dass ich Abends nie pennen kann

Zitat von Luckie:
Nicht nur dass ihr offtopic geworden seid, jetzt werdet ihr selber im Offtopic noch offtopic
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Productversion auslesen kiefert unter Vista falschen Wer

  Alt 11. Mai 2007, 04:55
Zitat von TNoob:
Es gibt einen Unterschied zwischen Produkt- und Dateiversion.
MfG
Hi,

kann mir das mal jemand erklären bitte da ich das gerade auch brauche in einem Projekt!

Danke!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz