Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

ich habe noch eine Frage:

Ich möchte in mein Programm eine automatische Update Funktion einbinden.

Es soll beim Programmstart automatisch nachschauen, ob eine neue Version verfügrar ist und diese dann vom Server kopieren. Das Problem ist, wie kann ich es machen, dass sich das Programm selbst überschreibt?

Ich meine, ich kann ja nicht die exe datei überschreiben wärend sie geöffnet ist um sich selbst zu aktualisieren...

Wie könnte man denn sowas umsetzten?

Hat jemand ne Idee??

LG,

Olli

Geschrieben

Hallo!

ich stelle mir das ganze so vor:

Du solltest eine Startup- Routine erstellen, die unabhängig von Deinem eigentlichen Programm die Version Deines Programmes ausliest und mit der Version auf dem Server vergleicht. Ist die Server- Version neuer(höhere Nummer), wird ein Download gestartet, ansonsten das Programm aufgerufen.

Des weiteren würde ich das Programm, wenn es nicht zu groß ist, nur temporär auf dem Client speichern (lassen).

Die Installationsroutine kannst Du z.B. mit InstallShield erstellen.

gruß

Florian

Geschrieben
Hallo!

ich stelle mir das ganze so vor:

Du solltest eine Startup- Routine erstellen, die unabhängig von Deinem eigentlichen Programm die Version Deines Programmes ausliest und mit der Version auf dem Server vergleicht. Ist die Server- Version neuer(höhere Nummer), wird ein Download gestartet, ansonsten das Programm aufgerufen.

Des weiteren würde ich das Programm, wenn es nicht zu groß ist, nur temporär auf dem Client speichern (lassen).

Die Installationsroutine kannst Du z.B. mit InstallShield erstellen.

gruß

Florian

Danke, das ist eine sehr gute Idee.

Ein InstallSheld brauche ich aber nicht. mein Programm besteht im Moment nur aus einer EXE Datei.

Ich werds mal so versuchen! thx!!!

Geschrieben
Wie könnte man denn sowas umsetzten?

Hat jemand ne Idee??

Nach Updates suchen -> downloaden -> Setup starten -> sich selbst schnell beenden, damit Setup die EXE überschreiben kann -> nach Setup neu starten

Prüfsummen/Fehlerkorrektur/Sicherheit beim Download nicht vergessen und Berechtigungen es Benutzers überprüfen.

Geschrieben

Bei Microsoft gibt es in der Patterns & Architecture einen Update Application Block der sowas automatisch macht, auch über den BITS Service wie die Windows Updates selbst. Kannste dir ja mal angucken. Evtl. ist auch NoTouch Deployment eine Option für dich, setzt aber .NET und den IE vorraus, dann ist es aber sehr cool. Oder du startest die EXE einfach von nem Netzwerk Share wo du die neuen Versionen hinkopierst.

Gruß,

Manuel

www.plasticalsoftware.de

Geschrieben
Bei Microsoft gibt es in der Patterns & Architecture einen Update Application Block der sowas automatisch macht

Dieser Block setzt IMO .NET voraus. Es ist jedoch fraglich, ob Filou ein .NET Programm geschrieben hat. Ich vermute eher, dass er normales C/C++ verwendet.

Geschrieben
Er kann den Block auch in eine COM DLL kompilieren und verwenden. Auf jeden Fall ist es ein guter Ausgangspunkt.

Wenn .NET keine Voraussetzung sein soll, dementsprechend auf der Zielplattform nicht zwingend installiert ist?

Geschrieben

Danke für Eueren vieln Vorschläge! Ich denke aber die erste Varriante ist die einfachste. Ich starte einfach ein kleines Programm aus meinem Programm raus was dann das Update auslößt.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...