Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

update programm

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
BombE



Anmeldungsdatum: 18.01.2006
Beiträge: 31

BeitragVerfasst am: 03.03.2006, 23:46    Titel: update programm Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 04.03.2006, 08:25    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.03.2006, 12:33    Titel: Antworten mit Zitat

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. lächeln 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. verwundert
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
BombE



Anmeldungsdatum: 18.01.2006
Beiträge: 31

BeitragVerfasst am: 05.03.2006, 00:12    Titel: Antworten mit Zitat

hi

also webspace und ftp accound habb ich genug da ich einen rootserver habe lächeln

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
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 05.03.2006, 00:55    Titel: Antworten mit Zitat

Der Kommandozeilen-FTP-Client in jeder Windows-Version lässt sich relativ gut mit SHELL steuern. Habe dazu früher folgendes Beispiel im Usenet veröffentlicht:

http://groups.google.com/group/comp.lang.basic.misc/msg/2a8f775de4d9e1f6
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dominik



Anmeldungsdatum: 22.12.2004
Beiträge: 172

BeitragVerfasst am: 05.03.2006, 02:05    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
BombE



Anmeldungsdatum: 18.01.2006
Beiträge: 31

BeitragVerfasst am: 05.03.2006, 02:47    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 05.03.2006, 09:26    Titel: Antworten mit Zitat

bombE hat Folgendes geschrieben:
das klabbt auch nur batch kann leider jeder bearbeiten und so das update umgehen

peinlich 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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
JPT



Anmeldungsdatum: 27.02.2006
Beiträge: 35

BeitragVerfasst am: 05.03.2006, 17:20    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 05.03.2006, 19:40    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 05.03.2006, 20:35    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
JPT



Anmeldungsdatum: 27.02.2006
Beiträge: 35

BeitragVerfasst am: 05.03.2006, 23:55    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 06.03.2006, 01:17    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
JPT



Anmeldungsdatum: 27.02.2006
Beiträge: 35

BeitragVerfasst am: 06.03.2006, 14:16    Titel: Antworten mit Zitat

Dann hab ich mich wohl verlesen... war ja schon spät.
_________________
MfG JPT
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BombE



Anmeldungsdatum: 18.01.2006
Beiträge: 31

BeitragVerfasst am: 06.03.2006, 15:07    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 06.03.2006, 16:59    Titel: Antworten mit Zitat

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? zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
BombE



Anmeldungsdatum: 18.01.2006
Beiträge: 31

BeitragVerfasst am: 06.03.2006, 18:17    Titel: Antworten mit Zitat

ä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
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 06.03.2006, 18:53    Titel: Antworten mit Zitat

... 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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz