Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 03.03.2006, 23:46 Titel: update programm |
|
|
hallo
ich suche ein update programm das ich in meine qb programme einbauen kann es soll quasi auf einem http server schaun ob neue dateien vorhanden sind und diese gegebenen falls runterladen und die alten dateien vom rechner löschen un die neuen reinpacken erst dann soll das eigentliche qb programm gestartet werden sodass man bei jedem start zwangsweise ein update durchführt gibbt es sowas schohn fertig oder habbt ihr ne ahnung wie ich das machen soll ? |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
Verfasst am: 04.03.2006, 08:25 Titel: |
|
|
Ja. Du könntest das ganze ja recht einfach halten:
1) Du stellst eine Datei namens version.txt auf deinen Webserver und schreibst in diese Datei die aktuelle Version rein. Mit QBasic machst du einen Abgleich mit der Version, die gerade auf dem PC ist und die gerade im Netz ist.
2) Wenn sich die Versionen unterscheiden, bedeutet das, dass wieder ein Update von Nöten ist.
3) Ich würde eventl. die Software als Bundle (als mit allen Dateien) aktualisieren oder mich zumindest nur auf einige Dateien, die aktualisiert werden sollen, beschränken. Ganz elegant würdest du es natürlich machen, wenn du noch eine weitere Datei namens files.txt anlegst, in der die vom Update betroffenen Dateien aufgelistet sind.
Und wie du Dateien runterlädst kannst du hier erfahren:Internet und QB ??? _________________ +++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 04.03.2006, 12:33 Titel: |
|
|
Die beste Lösung wäre, du schaffst dir irgendwo Webspace an, bei dem du mehrere FTP-Benutzer anlegen kannst. Da erstellst du dann einen namens "update" oder so, der nur die Berechtigung zum Lesen bekommt. Dann kannst du ganz gefahrlos dein Update über FTP.exe erledigen, ohne dass jemand deinen FTP Account missbrauchen kann. Frag mal Quark48 hier im Forum, ob er dir einen solchen Account mit 2 FTP-Zugangsdaten bereitstellen kann. Ein Login für dich für das Hochladen und Verändern von Dateien und einen Account "update", der nur etwas runterladen kann.
HTTP ist mit QB etwas schwierig zu machen.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 05.03.2006, 00:12 Titel: |
|
|
hi
also webspace und ftp accound habb ich genug da ich einen rootserver habe
an sowas wie mit ftp.exe oder versions.txt dachte ich auch schohn ich habe das ganze in batch mit wget for windows versucht da wird eine update.rar bei jedem programmstart vom server geladen dann die alten dateien auf dem rechner gelöscht und die update.rar entpackt das klabbt auch nur batch kann leider jeder bearbeiten und so das update umgehen das größte problehm ist im moment dass beim clienten dateien gelöscht oder ersetzt werden müssen also wird man ständig gefragt ob überschrieben oder gelöscht werden soll es gibbt da zwar so parameter dass "normalerweise" nich gefragt wird sondern einfach überschrieben wird aber das funzt nich so richtig gibbts da noch andre möglichkeiten ? |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 05.03.2006, 02:05 Titel: |
|
|
BombE hat Folgendes geschrieben: | das klabbt auch nur batch kann leider jeder bearbeiten und so das update umgehen |
Schau mal in der Downloadrubrik von QBasic.de dort gibt es einen Bat2Com bzw. Bat2Exe Compiler. Damit dürfte sich dein Problem teilweise erledigt haben. |
|
Nach oben |
|
 |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 05.03.2006, 02:47 Titel: |
|
|
also diesen compiler habe ich mahl benutzt aber die programme hatten dann später nur fehler ausserdem löst das nicht das problehm mitt der abfragen beim löschen oder überschreiben |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 05.03.2006, 09:26 Titel: |
|
|
bombE hat Folgendes geschrieben: | das klabbt auch nur batch kann leider jeder bearbeiten und so das update umgehen |
Es ist doch das Recht des Benutzers Updates zu umgehen wenn er möchte zudem kann er doch auch einfach das Internet abklemm um das Update zu umgehen.
Durch diese Dokumentation hier ist es zudem möglich, die Datei die das Update ausführt (egal ob Bat oder Exe) durch einen Dummy (=Datei ohne Funktion) zuersetzen.
Irgendwie klingt es wie Zwangsaktivirung ...
Eine Idee habe ich:
Benne die alten Datein um und dann die neuen, das geht mit dem QBasic Befehl "name" und löschen geht dann mit dem QBasic Befehl "Kill". |
|
Nach oben |
|
 |
JPT
Anmeldungsdatum: 27.02.2006 Beiträge: 35
|
Verfasst am: 05.03.2006, 17:20 Titel: |
|
|
Dein Updateprogramm sollte (wenn es separat läuft) in dein eigenes prog eingebaut werden. Als Sub oder Funktion.
Dann kannst du in dem Programm die Updatefunktion erzwingen.
Und wenn die Updatefunktion nicht auf eine bestimmte Datei zugreifen kann, beendet es sich selbst. _________________ MfG JPT |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 05.03.2006, 19:40 Titel: |
|
|
updateprogramm sollte im gegenteil sogar extern sein, sonst kannst du die .exe an sich nicht updaten. Das ganze müsste so laufen, dass die main-exe nach updates prüft, eventuell zuerst das updatermodul updated und es dann startet während sie selbst beendet ist weil sie sonst nicht überschrieben werden kann. Das updatemodul startet dann wieder die upgedatete exe und fertig. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 05.03.2006, 20:35 Titel: |
|
|
Das Hauptprogramm kann das Update runterladen, das Update Paket (eine Exe Datei) ausführen und sich selbst beenden.
Damit es Zeitlich sauber wird, wartet das Update Paket 1 Sekunde lang bevor es zuschreiben begiennt.
Ansonsten ein Ansatz aus dem alten Thread:
Der Benutzer erhalt nur ein kleines Programm, welches das eigentliche Programme immer frisch vom Server holt.
Eines Betone ich nochmal:
Wenn jemannd das Zwangsupdate nicht will, umgeht er es. |
|
Nach oben |
|
 |
JPT
Anmeldungsdatum: 27.02.2006 Beiträge: 35
|
Verfasst am: 05.03.2006, 23:55 Titel: |
|
|
MisterD hat Folgendes geschrieben: | updateprogramm sollte im gegenteil sogar extern sein, sonst kannst du die .exe an sich nicht updaten. Das ganze müsste so laufen, dass die main-exe nach updates prüft, eventuell zuerst das updatermodul updated und es dann startet während sie selbst beendet ist weil sie sonst nicht überschrieben werden kann. Das updatemodul startet dann wieder die upgedatete exe und fertig. |
Ich dachte eher an folgendes:
1) Hauptprogramm geht in die Update-routine und lädt die neuste Version von sich selbst.
2) Das Hauptprogramm erstellt eine Datei, in die ein bestimmter Wert geschrieben wird.
3) Das Hauptprogramm started das andere und beendet sich vor der Ausführung des neuen Programms.
4) Das andere Programm überprüft bei dem Start die Anwesenheit der Datei. Es öffnet sie und checkt, ob geupdated wurde. Wenn ja, löscht es die alte Version. und kopiert sich selbst an die Stelle.
5) Das neue Programm beendet sich und started seine Kopie.
Aufwändig, aber es geht.
Ich würde die Updateroutine deshalb integrieren, weil dann eine neue Version auch eine verbesserte Updateroutine enthalten kann. _________________ MfG JPT |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 06.03.2006, 01:17 Titel: |
|
|
wie ich sagte, die haupt-exe wird ja gestartet, die tut ja zuerst den updater updaten wenns was neues für den gibt. damit wäre das eigentlich auch abgedeckt. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
JPT
Anmeldungsdatum: 27.02.2006 Beiträge: 35
|
Verfasst am: 06.03.2006, 14:16 Titel: |
|
|
Dann hab ich mich wohl verlesen... war ja schon spät. _________________ MfG JPT |
|
Nach oben |
|
 |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 06.03.2006, 15:07 Titel: |
|
|
villeicht könnte man ja auch das eigentliche programm nur tempoler vom server laden also das programm quasi streamen oder nach beendigung wieder automatisch löschen ginge sowas ? |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 06.03.2006, 16:59 Titel: |
|
|
Löschen nach Beenden geht - streamen dagegen nicht. Wobei ich aber auch MisterD's Variante bevorzugen würde. Denn: warum willst du den Updater nachher wieder löschen?  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
BombE
Anmeldungsdatum: 18.01.2006 Beiträge: 31
|
Verfasst am: 06.03.2006, 18:17 Titel: |
|
|
ähm nein nich den updater löschen sondern mit dem updater das programm laden dann starten und wenns beendet wird wieder löschen ist nur was umständlich un wenn das programm grösser wird dauert das landen länger |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 06.03.2006, 18:53 Titel: |
|
|
... und der Benutzer kann das Programm ohne Probleme sichern.
Sag mir mal den Sinn des Zwangsupdates, beziehungsweise des nur Temporär runterladen?
Mach das nicht als Kopierschutz, sonst kannst du die Verbreitung deines Programmes vergessen und die letzen paar Benutzer knacken den Schutz.
(Das ist weniger aufwand als das Entwickeln des Schutzes)
Zudem: Sobald dein Server Down ist, kann keiner mehr deine Software benutzen?
Zudem ist deine Software dann alles andere als Zukunfts sicher ...
Entweder dein Server geht down, das Internet Gebastel geht nicht auf jedem Windows .... |
|
Nach oben |
|
 |
|