PDA

Vollständige Version anzeigen : Versionsänderung


schlarb
10.05.2001, 20:59
Hallo zusammen,
Welche Möglichkeiten gibt es das bei einer Versionsänderung alle auf den lokallen PC's liegenden Anwendungen ein Update erstellt wird.
Bin für jede Anregung Dankbar,
Gruß Michael.

Kevin
11.05.2001, 10:21
Hi,

ich habe das etwas umständlich gelöst.
In meiner Frontend liegt eine lokale Tabelle die die Versionsnummer enthält, in der Backend ebenfalls.
Beim Start der Datenbank wird überprüft ob der Versionsnummer der Backend grösser ist als die in der Frontend.

In diesem Falle wird eine Mitteilung ausgegeben, die über ein vorhandenes Update berichtet. Als Zusatz gibt es noch die Option das ein Update Pflicht ist und die Datenbank schliesst sich gleich wieder.
Ein Update kann dann über eine Batch Datei durchgeführt werden.

Hoffe konnte Dir ne Anregung geben.
Gruß Kevin

schlarb
11.05.2001, 12:29
Hallo Kevin;
Habe das gleiche getan, Dachte mir es ginge vielleicht auch hübscher.
Besten Dank für deinen Beitrag.
Michael

O-Schreiner
11.05.2001, 13:18
... kochen halt doch alle nur mit Wasser *gg*

Ich hab das (allerdings unter VB5 und VB6) genau so gemacht, hatte im Source eine Versions-Nummer und in der Datenbank eine (Mindest)-Version stehen und dann gleich noch ein Pfad auf eine modifizierte SETUP.EXE und hab dann nach einer Meldung "Sie bzw. Ihre Anwendung ist veraltet" dieses Update sofort gestartet *schäm*

Aber es ist gut zu lesen dass irgendwie alle auf gleiche oder zumindest ähnliche Vorgehensweisen kommen :)

cu, Olly

Joachim Hofmann
11.05.2001, 14:15
Möglichkeit:

-- auf jedem PC gibt es ein Verzeichnis für die Access-Versionen.
-- Der Dateiname der Version erhält eine Nummer, die mit jeder Version eines größer ist, zB Ver000002.mdb
-- Ein kleines Start-Tool, daß auf jedem PC istalliert ist
-- überprüft, ob es eine Datei in einem Netzverzeichnis gibt die "größer" ist, als die "größte" Datei, die im lokalen Verz. liegt
-- falls ja, wird die Datei aus Netzverzeichnis nach lokalem Verzeichnis kopiert und access damit gestartet.
-- Nutzer muß, um mit der neuesten Version zu arbeiten, evtl. DB schließen und den "DB-Starter" neu aufrufen.

Sowas habe ich für eine Firma in VB geschrieben.
Müßte auch in jeder anderen Programmiersprache gehen.

Kevin
23.05.2001, 07:21
Hi Achim,

bei Access bin ich da jedoch auf ein Problem gestossen.
Wenn Du die DB direkt öffnest kann man nicht via VBA mal schnell nen FileCopy Befehl für die Datei (in der man sich ja gerade befindet) abschicken.
Wenn man mit "reinem" Access arbeitet kann ich jeden nur ein "DBLS" empfehlen.
Darin hat ne liste aller Datenbanken, es wird vorher nach neuen Versionen gecheckt und wenns mehrere Dateien sind, wird alles im Pack auf ein indivi. Verz kopiert. etc..

Gruß Kevin

Ohnesorg
23.05.2001, 08:50
Hi

auch ich habe dieses Problem... gehabt zumindest.
Gelöst ist es wie folgt:
Es gibt eine eigene Datenbank, die lediglich die eigentliche Frontend startet.
In dieser Starter Datenbank wird ist die aktuellste Versionsnummer hinterlegt.
In der Frontend, die der User verwendet, befindet sich eine "Systable" mit verschiedenen Angaben wie Versionsnummer, Titel der Datenbank, Arbeitsverzeichnis etc. Ursprünglich wurde diese Tabelle angelegt um möglichst leicht verschiedene LayOuts zu beeinflussen.
Der Starter öffnet zunächst die Frontend, die der User lokal auf seiner Festplatte hat und zieht die Versionsnummer um sie mit der eigenen Versionsnummer zu vergleichen.
Ist die VN der Frontend kleiner bzw. ungleich der VN des Starters, wird die neue Version der Frontend kopiert... und zwar vom Starter. Anschließend wird die neue Frontend gestartet.
Stimmen die beiden Versionsnummern überein, startet der Starter die Lokal gespeicherte Frontend.

Zum Ändern der Versionsnummer im Starter habe ich ein Tool geschrieben. Ist eine neue Version der Frontend fertig, öffne ich ein Formular in welchem ich die Versionsnummer ändere. Wird die Änderung bestätigt, wird der die Systemtabelle im Starter geöffnet und dessen Versionsnummer angepasst. Somit kann es nicht (mehr) vorkommen, dass es zwar eine neue Version gibt, diese aber nicht erkannt wird.

Was besseres ist mir bislang nicht eingefallen. Ich habe auch schon überlegt die Frontend alle zwei Minuten abfragen zu lassen, ob es eine neue Version gibt um dann mittels Messagebox den User darauf hinzuweisen, dass eine neue Version verfügbar ist. Weiterführen soll der User gefragt werden, ob die laufende Version upgedatet werden soll. In diesem Fall würde die Frontend sich beenden und den Starter aufrufen, der die laufende Version updatet.

Vielleicht war das ja eine Anregung, wie die Geschichte "Update" ohne Batchfile lösbar ist. Immerhin gibt es unter Access den Befehl "FileCopy(Source, Destination)"