Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#6

Re: Nach Programm Ende noch eine Andwendung ausführen ??

  Alt 25. Mai 2007, 11:18
Und das, was Ihr da macht, klappt alles unter Vista mit UAC?

Ich mach das so:
1) Prüfen auf Updates per HTTP (am einfachsten insbesondere wg. Rechten, Firewall etc!)
2) Download in das Temp-Verzeichnis des aktuellen Benutzers unter einem nicht vergebenen Namen mit Prefix (Anwendungxyz-Update-123.exe), natürlich Hash-Vergleichen
3) Hilfsprogramm mit den Parametern aufrufen, die Pfad zum Update und aufrufenden Hauptprogramm enthalten
4) ShellExecute + Wait für das Update mit Elevation-Anforderung (tauscht Dateien im Programmeverzeichnis aus)
5) Update-EXE löschen, wenn möglich (wollen das Temp des Benutzers ja nicht zumüllen)
6) Hauptprogramm erneut starten

Inkl. Fallback, falls das Hilfsprogramm nicht gefunden wird (wird direkt Update aufgerufen mit Hinweis auf manuellen Programmneustart). Zusätzlich hab ich eine Benachrichtigung drin (Tray bzw. Messagebox für Win9x) und einen Update-Wizard mit Fehlerprüfung (Download-Abbruch, Verbindungsfehler, Hash-Fehler) und Informationen (je nach System und Verbindung mit Progressbar, Marquee oder Marquee-Simulation für ältere Systeme) etc.pp.

Viel bequemer geht es für den Benutzer nicht.

Gruß winkel79
Frederik
  Mit Zitat antworten Zitat