Seite 3 von 3

Verfasst: 02.03.2008 23:46
von PureNoob
Um nochmal Rückbezug auf mein Problem zu nehmen. Der WoW-Loader der im Verzeichnis X liegt, soll sich selbst updaten. Dazu stellt das Programm eine Verbindung mit dem Server her, und läd das Update herunter. Sofern das Zielverzeichnis NICHT GLEICH dem Verzeichnis ist, in dem sich das Programm befindet, geht es. Dann wird die aktuelle Datei heruntergeladen. Ein herüberkopieren aus einem anderen Verzeichnis z.B. C:\WoW\Cache schlägt auch fehl, da die upzudatende Datei ja bereits läuft.

Die einzige Möglichkeit die mir momentan einfallen würde, wäre, ein kleines Copy-Tool zu schreiben, welches in den WoW-Ordner installiert wird. Nachdem das Hauptprogramm im WoW Ordner gestartet wurde, läd es das Update (das neue Hauptprogramm) in das Cache-Verzeichnis (Dieses wird durch das Hauptprogramm beim Starten des WoW gelöscht). Dann wird das Copy-Tool gestartet, nachdem das Hauptprogramm beendet wurde (Close_Window_1 & 2). Das Copy-Tool überschreibt dann das bisherige Hauptprogramm mit dem heruntergeladenen Update aus dem Verzeichnis C:\WoW\Cache. Danach wird das neue hauptprogramm mittels des Copy-Tools gestartet. Voilá!

Das ist, wie es funktionieren soll. Ich habe es noch nicht durchprobiert. Aber gemäß des Denkansatzes müsste es funktionieren oder? Euch fällt sicherlich ein kürzerer Weg ein, aber die Kenntnisse dafür fehlen mir leider noch.

Gruss PureNoob

Verfasst: 03.03.2008 01:08
von KeyKon
Klingt gut... (Wobei ich zugeben muss nich 100% verstanden zu haben was genau das Problem ist^^)
Aber in der Regel is probieren immer die beste möglichkeit sowas zu lösen...

Verfasst: 03.03.2008 02:25
von NicTheQuick
Du brauchst auch nicht unbedingt ein extra Copy-Tool mitzuliefern, sondern
dieses z.B. in den Loader integrieren, indem du ihn mit einem Parameter z.B.
"-update" startest und dann per 'PogramParameter()' ausliest.

Verfasst: 03.03.2008 02:27
von PureNoob
Ok...

ich versuche es mal so:

Ich starte das Haupt-Programm und klicke auf Update
Das Haupt-Programm läd die aktualisierte Version des Haupt-Programmes z.B. nach C:\Update
Dann wird das Haupt-Programm welches in C:\Hauptprogramm läuft, beendet.

Jetzt kommt das kleine Tool zum Einsatz an dem ich parallel arbeite. Es kopiert die aktualisierte Version des Haupt-Programmes "C:\Update" in das Verzeichnis aus dem es bislang immer ausgeführt wurde "C:\Hauptprogramm" .

Dann beendet sich das kleine Tool von alleine. Danach soll das aktualisierte Haupt-Programm gestartet werden.

Ich hoffe jetzt war es verständlicher.

P-N

@NicTheQuick

Nur das übersteigt meine Fähigkeiten und ich habe keine Ahnung davon.

Verfasst: 03.03.2008 04:38
von Kaeru Gaman
professioneklle games machen es teilweise so, dass der updater ein "normales" install-paket ist.
aus dem hauptprogramm heraus kannst du nach updates suchen und ggf. runterladen.
wenn das erledigt ist (und evtl. ein button "jetzt update installieren" bestätigt wurde)
beendet sich das hauptprogramm und startet den installer.
an dessen ende ist dann wie üblich das häkchen für "anwendung starten",
dass nach dem klicken auf "fertig stellen" gleich das hauptprogramm wieder gestartet werden kann.

Verfasst: 06.03.2008 14:40
von PureNoob
Es sollte so gehen:

Update Button geklickt? -> Update wird heruntergeladen -> Bestätigungsmeldung -> Hauptprogramm wird beendet -> Copy Tool (Installer) wird gestartet -> Installer wird beendet und Hauptprogramm wird gestartet.

Nur irgendwie kriege ich das mit dem Copy Tool noch nicht so ganz auf die Reihe.

P-N

Verfasst: 06.03.2008 15:09
von HeX0R
Du kannst auch den PatchMaster benutzen, um deine Install-Exen zu erstellen, der war eigentlich mal genau dafür gedacht.