Einzelnen Beitrag anzeigen

Schubi

Registriert seit: 4. Nov 2003
Ort: Happurg (Nürnberg)
331 Beiträge
 
Delphi 2006 Professional
 
#7

Re: update eures eigenen Programms: vorgehensweise

  Alt 24. Apr 2007, 12:07
Delphi-Quellcode:
//Auslesen der Versionsnummer aus einer Datei
type
  T_Version = Record
    Hauptversion, Nebenversion, Ausgabe, Build : Integer;
  end;

function GetVersion(Datei : String): T_Version;
var
  VerInfoSize: DWORD;
  VerInfo: Pointer;
  VerValueSize: DWORD;
  VerValue: PVSFixedFileInfo;
  Dummy: DWORD;

begin
  Result.Hauptversion := 0;
  Result.Nebenversion := 0;
  Result.Ausgabe := 0;
  Result.Build := 0;

  If FileExists(Datei) Then begin
    VerInfoSize := GetFileVersionInfoSize(PChar(Datei), Dummy);
    if VerInfoSize = 0 then Exit;
    GetMem(VerInfo, VerInfoSize);
    GetFileVersionInfo(PChar(Datei), 0, VerInfoSize, VerInfo);
    VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
    with VerValue^ do
    begin
      Result.Hauptversion := (dwFileVersionMS shr 16);
      Result.Nebenversion := (dwFileVersionMS and $FFFF);
      Result.Ausgabe := (dwFileVersionLS shr 16);
      Result.Build := (dwFileVersionLS and $FFFF);
    end;
    FreeMem(VerInfo, VerInfoSize);
  end
  else begin
    Result.Hauptversion := 0;
    Result.Nebenversion := 0;
    Result.Ausgabe := 0;
    Result.Build := 0;
  end;
end;
Dann musst du nur noch die aktuelle Version deiner EXE in eine Datei schreiben(z.B. binär)
Diese Datei lädst du runter, vergleichst den Inhalt der Datei(also die Versionsnummer) mit der Versionsnummer die die Prozedur oben für deine lokale EXE ausgibt.

Dann kannst du die EXE runterladen (in ein Update-Verzeichnis oder so) und mit der Batch-Datei aktualisierst du das Ganze.

Noch Fragen?
Christian Schubert
Ich fange gerade erst an, den Umfang meiner Ahnungslosigkeit zu begreifen...
  Mit Zitat antworten Zitat