Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Auto Update Frontend
Gehe zu Seite 1, 2  Weiter
zurück: SQL VBA SELECT WHERE weiter: Listenfeld mit Mehrfachauswahl speichern und auslesen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Offen Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Nils88
Gast


Verfasst am:
18. Dez 2012, 12:28
Rufname:

Auto Update Frontend - Auto Update Frontend

Nach oben
       Version: Office 2010

Hallo zusammen,

ich habe auf mehereren Pc's einen Frontend der Datenbank liegen und auf der Server das Backend.
Gibt es eine Möglichkeit, dass wenn eine neue Version vorhanden ist, diese auf den Server gelegt wird und dann wenn die User ihr Frotend öffnen eine Meldung bekommen "Neue Version vorhanden! Bitte Updaten!" Dann klicken Sie auf Update und die neue Version wird auf den PC gespielt und die alte natürlich gelöscht.

Ich habe hier im Forum gefunden, dies über eine .bat Datei zu erledigen, dies geht allerdings nicht, da wir hier keine .bat dateien ausführen könnnen (Wurden gespert)

Hat jemand eine Idee wie es gehen könnte?

Die Versionsnummer ist in einer Tabelle gespeichert (Tabelle1.Version)

Gruß Nils
MissPh!
Office-VBA-Programmiererin


Verfasst am:
18. Dez 2012, 13:31
Rufname:
Wohnort: NRW


AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Hallo,

eine gängige Methode ist es auch, das Frontend bei jedem Start frisch vom Server zu holen.

Wenn die Version in einer internen Tabelle gespeichert ist, hat das den Nachteil, dass du die DB auf dem Server beim Start öffnen musst,
was im Mehrbenutzerbetrieb zu Problemen führen kann.

_________________
Gruß MissPh!
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
18. Dez 2012, 13:45
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Hallo,

in meinem aktuellen Projekt mache ich das so, daß ich eine Config-Tabelle auf dem Server habe, in der hinterlegt ist, welche Frontend-Version erlaubt ist. Die Frontends erhalten eine Konstante in einem Standardmodul, in der die Frontend-Version hinterlegt ist. Beim Starten wird diese mit der Versionsnummer in der Config-Tabelle verglichen und wenn diese nicht gleich ist, wird aus einer Update-Tabelle die Binärdatei mit dem Installer heruntergeladen und im allgemeinen Temp-Ordner lokal gespeichert. Danach wird der Installer gestartet und die Datenbank mit Quit verlassen. Der Installer kann nun vom User durchgegangen werden und die Datenbank wie üblich gestartet werden.

Zum Erstellen eines Installers verwende ich InnoSetup, ist OpenSource und sehr einfach zu bedienen. Von allen Installern, die ich getestet habe, ist das der beste und flexibelste. Außerdem wird das Frontend zusammen mit allen anderen Dateien, die ggf. notwendig sind (Icons, PDF-Manuals, Excel-Druckvorlagen etc.), gepackt. Im aktuellen Projekt werden so rund 60 MB zu rund 3-4MB gepackt, so daß das Herunterladen auch extrem schnell geht.

Gruß

Christian
m2c
Gast


Verfasst am:
18. Dez 2012, 13:46
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Unkompliziert geht es mit einem kleinen selbstgebauten Tool. Kann übrigens auch Access sein.
Das Tool wird gestartet und prüft, ob sich die Versionsnummern unterscheiden. Falls ja, löscht es das lokale Frontend, kopiert das neue vom Server und startet es, bevor es sich selbst beendet.

m2c
Nils88
Gast


Verfasst am:
18. Dez 2012, 13:58
Rufname:


AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

@MissPh!:

Hört sich sehr logisch an und wie kann ich die Datei vor jedem start vom Server laden?


@Bitsqueezer:

Hört sich auch sehr gut an.
Habe ich das richtig verstanden:

Der User öffnet die DB dann wird geprüft ob die Versionsnummer in in einem Modul hinterlegt ist mit der Versionsnummer im Backend? in der Tabelle verglichen, wenn die Versionsnummer in der DB nicht mehr aktuell ist, wird das neue FE als exe? von server geladen und gespeichert und ausgeführt?


@m2c:

An soentwas habe ich auch gedacht.

Der User öffnet seine DB dann wird die Versionsnummer mit der Aktuellsten vergichen, kann die aktuellste Versionsnummer auch in einer Tabelle im BE stehen? Wenn seine Version nicht mehr aktuell ist kommt eine Meldung "Bitte Update!" dann schließt sich die DB (Man soll die DB nur öffnen können, wenn man die neuste Version hat.) und der User öffnet das Update Programm, dieses kopiert die Datei vom Server und erstet die Datei beim User(woher weiß ich, wo der User sein FE gespeichert hat? Kann man den Dateipfad in eine txt Datei speichern, wenn die Meldung "Update" kommt und das Update Tool holt sich den Zielpfad aus der txt?

Gruß Nils
m2c
Gast


Verfasst am:
18. Dez 2012, 14:16
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

- Bei jedem Start ein Kopiervorgang? Wie oft kommen den Updates?
- Ein Setupprogramm für den Austausch des Frontends? Lohnt das den Aufwand?


Mein Vorgehen nochmal einzeln:
- Auf dem Server liegt eine aktuelle Version mit einem Eintrag in einer Tabelle.
- Die kleine Start-DB vergleicht den Eintrag der lokalen Version mit der aktuellen Serverversion
- sind diese gleich, wird die lokale Version gestartet
- sind sie unterschiedlich, kopiert die Mini-DB das aktuelle Frontend vom Server und startet dann die jetzt aktuelle lokale Version


Woher kennt die kleine Start-DB die Pfade?
- entweder sind sie fest (z.B. in einer Tabelle) hinterlegt
- oder sie holt sich die Infos aus dem lokalen Frontend (Msys oder Connectstring)
- und wo sie selbst liegt, ist ja bekannt

m2c
Nils88
Gast


Verfasst am:
18. Dez 2012, 14:25
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

An genau soetwas hatte ich gedacht.

Nur wie setzte ich es um?

Man erstellt eine Start DB(mit einem Formular?) dann in der Open Prozedur wird die lokale Veriosn mit der Server version überrpüft(Lokale Version: Die VersionsNummer steht in der Tabelle1.Version; Server Version auch Tabelle1.Version), wenn diese gleich sind start die "Start-DB" die lokale Version, wenn diese nicht gleich sind kopiert und ersetzt die "Start-DB" die lokale Version durch die Server-Version. OK soweit auch ok. Jetzt aber meine Frage: Ich starte die "Start-DB" woher weiß diese jetzt wo der User die lokale Version gespeichert hat, wenn diese vorher nicht geöffnet wurde?
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
18. Dez 2012, 14:45
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Hallo,

der "Aufwand" beschränkt sich darauf, mit InnoSetup einmalig einen Installer zusammenzubasteln. Die Konfiguration wird gespeichert, so daß diese beim nächsten Update einfach in das InnoSetup-Frontend geladen werden kann. Der "Aufwand" ist dann also lediglich ein Klick, um die letzte Konfiguration zu laden und noch ein Klick, um die Installer-Exe-Datei zu erstellen.

Der Vorteil ist, daß man hier dem User überlassen kann, wo er das Frontend speichern möchte (kann man aber auch fest erzwingen). Außerdem kann man optional auch einen Deinstaller erstellen lassen, das ganze wird automatisch im Control Panel hinterlegt. Darüber hinaus werden gleich Icons und Startmenüeinträge erstellt, Handbuch kopiert, usw. Diesen ganzen Aufwand müßte man ansonsten manuell betreiben - wozu das Rad neu erfinden?

Eine Start-DB ist dabei ebenso unnötig, da der Installer gleich aus dem normalen Frontend per Shell-Befehl gestartet wird und sich im Anschluß selbst beendet, so daß der Installer das Frontend einfach überschreiben kann.

Für den Programmierer des Frontends ist also am Ende nur wenig notwendig:
- Kompilieren des Frontends zu einer MDE/ACCDE/ADE und speichern im Inno-Setup-Ordner, wo auch die anderen ggf. benötigten Dateien für den Setup liegen
- Starten des InnoSetup-Frontends, Laden der letzten Konfiguration, Ausführen und ggf. den "Test Install" ausprobieren
- Hochladen des EXE-Files in die Update-Tabelle und Ändern der Versionsnummer.

Beim Starten jedes Frontends kommt nun automatisch eine Meldung über einen Update, der auch gleich gestartet wird, so daß der User ohne Aufwand sofort wieder arbeitsfähig ist. Da hierbei i.d.R. nur Dateien kopiert werden, ist noch nicht einmal Admin-Recht notwendig auf dem Zielrechner (wenn man die Deinstall-Möglichkeit ausläßt).

Die Lösung funktioniert einfach und zuverlässig, da der Installer alle notwendigen Tests auf Wunsch selbst erledigt, etwa, ob eine Datei schon vorhanden ist oder ob sie automatisch überschrieben werden soll oder nicht usw. Das müßte man alles mühsam nachprogrammieren - wozu?

Mein aktuelles Projekt legt beispielsweise im Zielordner Unterordner an, einen für Info-Dateien (Handbücher etc.) und einen für Druckdateien. Das sind Excel-Dateien als Excel-Template, die zum Ausdruck verwendet werden. Bei manchen Usern gibt es da schon mal Probleme mit dem Druck, so daß diese die Druckdateien an ihre Drucker noch manuell anpassen müssen. Der Installer prüft automatisch, ob die Datei schon vorhanden ist und schreibt sie nur, wenn sie noch nicht vorhanden sind, so daß die mühsamen Einstellungen der User nicht beim nächsten Update wieder weg sind. Lediglich, wenn sich die Druckdateien mal ändern, kann ich die Option einfach im Installer abschalten und sie werden wieder überschrieben. Sehr mühsam, das alles nachzuprogrammieren, für solche Kleinigkeiten habe ich persönlich nicht die Zeit und Lust, vor allem, wenn es das als einfach zu konfigurierendes Frontend schon bestens getestet gibt.

Die Update-Tabelle mit der Binärdatei kann dabei noch weitere Spalten enthalten, zum Beispiel für Versionsinfos vor der Installation. Ebenso steuere ich damit einfach durch eine Eingabe in der Tabelle auf dem Backend, ob es eine Zwischenversion oder eine Vollversion ist. Die Zwischenversionen installiert das Frontend nur optional, die Vollversionen muß jeder installieren.

Gruß

Christian
Nils88
Gast


Verfasst am:
18. Dez 2012, 14:52
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

OK hört sich interessant und auch gut an, nur das Problem, wir können hier keine exe dateien ausführen Sad
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
18. Dez 2012, 14:55
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Hallo,

öhm...und wie startest Du dann ein Programm....?

Gruß

Christian
Nils88
Gast


Verfasst am:
18. Dez 2012, 14:58
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Hallo,

alles was installiert ist kann ausgeführt werden aber sonst können leider keine exe dateien oder bat dateien ausgeführt werden leider Sad
Bitsqueezer
Office-VBA-Programmierer


Verfasst am:
18. Dez 2012, 15:06
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Hallo,

das käme auf den Versuch an. Solche komischen Settings habe ich auch schon mal in einem "gesicherten" Netzwerk gesehen - ein simpler Shell-Befehl von VBA aus gestartet hat diese Einschränkung aber schon umgangen. Probier's mal aus. Im Zweifelsfall einfach mit einem cmd ergänzen (cmd kann auch Programme starten), dann ist das ausgeführte Programm nämlich das installierte cmd und der dann ausgeführte Kommandzeileninterpreter startet die Exe in einem eigenen Prozess.

Gruß

Christian
Nils88
Gast


Verfasst am:
18. Dez 2012, 15:16
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Ok habe gerade mal mit der IT telefoniert, die meinen mit einem Shell Befehl sollte es möglich sein die sperre zu umgehen.

kannst du mir vielleicht mal deinen Code Zeigen, den du in dem Start Formular hast?

Gruß Nils
Nils88
Gast


Verfasst am:
18. Dez 2012, 15:32
Rufname:

AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

So hab mir jetzt mal das InnoSetup angeschaut, aber dieses muss ich ja auch erst installieren, was ich leider nicht kann.
Nils88
Gast


Verfasst am:
18. Dez 2012, 15:56
Rufname:


AW: Auto Update Frontend - AW: Auto Update Frontend

Nach oben
       Version: Office 2010

Ok hab es versucht über Shell bekomme ich auch kein bat oder exe gestartet, wie es über cmd läuft weiß ich leider nicht. hoffe kannst mir helfen.

Oder ich muss die Lösung von m2c nehmen. Die auch gut ist nur da sehe ich das Problem mit dem Pfad noch.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum 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.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: update der tabelle 2 Kirsy 305 28. Aug 2008, 09:32
Kirsy update der tabelle
Keine neuen Beiträge Access Tabellen & Abfragen: UPDATE einer Tabelle -- datet auch Verknüpfte Tabellen up 8 leenas 1288 10. Jul 2008, 15:57
leenas UPDATE einer Tabelle -- datet auch Verknüpfte Tabellen up
Keine neuen Beiträge Access Tabellen & Abfragen: Frontend mit mehreren identischen Backend-Dateien? 1 michaelw 381 06. Apr 2008, 19:34
jens05 Frontend mit mehreren identischen Backend-Dateien?
Keine neuen Beiträge Access Tabellen & Abfragen: Fehler in Update: Fehler beim Kompilieren -> Methode n. g 1 Mindjogger 589 14. März 2008, 17:51
Mindjogger Fehler in Update: Fehler beim Kompilieren -> Methode n. g
Keine neuen Beiträge Access Tabellen & Abfragen: UPDATE mit INNER JOIN 5 Reiner 12758 18. Jan 2008, 18:49
Willi Wipp UPDATE mit INNER JOIN
Keine neuen Beiträge Access Tabellen & Abfragen: Problem mit UPDATE in Access und externer anwendung. 1 Zauberzunge 491 04. Dez 2007, 17:54
Willi Wipp Problem mit UPDATE in Access und externer anwendung.
Keine neuen Beiträge Access Tabellen & Abfragen: Hilfe beim erstellen einer UPDATE Abfrage 1 coste 484 02. Nov 2007, 08:18
stpimi Hilfe beim erstellen einer UPDATE Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Problem mit UPDATE in Access 3 Sebolus 692 26. Okt 2007, 14:17
Willi Wipp Problem mit UPDATE in Access
Keine neuen Beiträge Access Tabellen & Abfragen: Kniffliger Update Befehl 7 galaxy 2331 18. Sep 2007, 17:54
Shai Kniffliger Update Befehl
Keine neuen Beiträge Access Tabellen & Abfragen: where in query update 2 silversurfer66 804 18. Sep 2006, 15:24
Gast where in query update
Keine neuen Beiträge Access Tabellen & Abfragen: Update Agfrage 5 f1racing 599 02. Aug 2006, 06:51
jens05 Update Agfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Laufzeitfehler 3061 / UPDATE SQL 6 Spoldo 4349 18. Jan 2006, 21:01
jens05 Laufzeitfehler 3061 / UPDATE SQL
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: MS Frontpage