Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Update-Mechanismus in Delphi-Anwendung einbauen (https://www.delphipraxis.net/134703-update-mechanismus-delphi-anwendung-einbauen.html)

Cogito 27. Mai 2009 12:15


Update-Mechanismus in Delphi-Anwendung einbauen
 
Hallo zusammen,

weiß jemand zufällig, wie (oder mit welchen Zusatzkomponenten) man in eine Delphi-Anwendung einen Update-Mechanismus a la Windows Vista einbauen kann? Es muss jetzt nicht unbedingt genauso funktionieren wie Vista, aber eine Anwendung sollte sich beim Start (oder wie auch immer) neuere Updates (einschl. der laufenden EXE) selbst holen können.

HeinzJ 27. Mai 2009 12:24

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
1. Update Seite Aufrufen
2. Informationen über aktuelle Version laden (z.B. per TXT Datei)
3. Versionsvergleich
4. Neue Vesrion runterladen, wenn neuer.
5. Installation

guinnes 27. Mai 2009 12:40

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Meine Updatefähigen Programme werden nie direkt gestartet, sondern von einer anderen Anwendung mit folgendem Ablauf :
1. Zeitstempel der letzten Aktualisierung aus einer Datenbank lesen
2. Vergleich mit einem Ini-Eintrag auf der lokalen Platte
3. Wenn in der Datenbank aktueller : Übertragen der Exe aus der Datenbank und setzen des Zeitstempels in der lokalen Ini-Datei
4. Starten der eigentlichen Anwendung

hoika 27. Mai 2009 13:18

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Hallo,

was aber Probleme bereitet, ist,
dass ab Vista nicht per ins Programm-Verzeichnis geschrieben werden darf
(als Nicht-Admin).

Dann geht es nur per MSP (Patch einer MSI) oder per Dienst.
Ich schlage mich auch schon ewig mit rum,
komme aber wegen anderen Arbeiten nicht dazu,
einen Dienst zu programmieren.


Heiko

Prototypjack 27. Mai 2009 13:29

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Zitat:

Zitat von hoika
Hallo,

was aber Probleme bereitet, ist,
dass ab Vista nicht per ins Programm-Verzeichnis geschrieben werden darf
(als Nicht-Admin).

Dann geht es nur per MSP (Patch einer MSI) oder per Dienst.
Ich schlage mich auch schon ewig mit rum,
komme aber wegen anderen Arbeiten nicht dazu,
einen Dienst zu programmieren.


Heiko

Sowohl MSI als auch der Dienst brauchen ebenso Admin-Privilegien (sonst würde die UAC ja ad absurdum geführt). Was spricht gegen eine Elevation, sobald ein Update erkannt wurde (machen die Installation-Programme ja auch so: Sobald etwas am System verändert werden muss, werden Rechte eingefordert).

Grüße,
Max

Edit: Übrigens: Das Verbot des Zugriffs auf empfindliche Bereiche gilt nicht erst ab Vista, sondern bereits seit den frühen NT-Versionen (soweit ich mich erinnere; mindestens aber seit Windows 2000 und alles andere ist sowieso großteils irrelevant). Fakt ist, dass Vista das erste Windows-Betriebssystem ist, dass diese Karte so ausspielt, wie sie gespielt gehört. Es ist zu verlockend in System unter Vista komplett als Admin zu arbeiten, was generell eine schlechte Idee ist und vor allem auch nicht vorausgesetzt werden kann, auch nicht in Versionen vor Vista!.

hoika 27. Mai 2009 15:43

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Hallo,

mag ja alles sein.
Nur was mache ich bei folgendem Scenario.

Kunde hat 20 Rechner.
Mein Programm erfährt ein Update.
Admin rennt jetzt zu den 20 Rechnern hin
und installiert das Update.

Er freut sich schon,
weil viell. sogar Rechner hochgefahren werden (Mitarbeiter im Urlaub).

Elevation klappt zwar, aber als normaler User muss auch das Admin-Kennwort
eingegeben werden (logisch).


Heiko

PS:
Wer hat Lust, einen Updater-Dienst mit zu programmieren ... ?

RWarnecke 27. Mai 2009 16:28

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Zitat:

Zitat von hoika
PS:
Wer hat Lust, einen Updater-Dienst mit zu programmieren ... ?

Die Komponente TMSWebUpdate macht ein Update von Deinem Delphi Programm. Es werden die Dateien heruntergeladen und in das entsprechende Verzeichnis kopiert. Da brauchst Du kein Admin oder sonstiges. Wenn Du doch einen Admin brauchst findest Du unter dem Suchbegriff Hier im Forum suchenImpersonate noch Hinweise, wie sich Dein Rechner als Admin anmelden kann, wenn ein Benutzer oder Hauptbenutzer angemeldet ist.

HeinzJ 28. Mai 2009 08:19

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Ich wür mich auch mal mit dem Administrator kurzschließen und mit diesem die Fragen der Sicherheit/Softwareverteilung ansprechen.

Bernhard Geyer 28. Mai 2009 08:22

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Wie wäre es mit einer Netzwerkinstallation? Viele Delphi-Apps benötigen eigentlich keine Installation so das auch einfach der start über das Netzwerk eine alternative darstellt. Machen das z.B. bei uns (ok, primär nur mit unseren eigenen Apps) und haben damit wenig Problem. Einzig manche Poweruser im anderen Büro kopieren sich die Daten lokal da die Netzwerkverbindung zwischen Server und Büro nur über WLAN realisiert werden kann.

generic 28. Mai 2009 08:38

Re: Update-Mechanismus in Delphi-Anwendung einbauen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von hoika
was aber Probleme bereitet, ist,
dass ab Vista nicht per ins Programm-Verzeichnis geschrieben werden darf
(als Nicht-Admin).

Das darf ein Benutzer (nicht Hauptbenutzer - der darf) schon seit Windows 2000 nicht mehr.

Zitat:

Zitat von hoika

Kunde hat 20 Rechner.
Mein Programm erfährt ein Update.
Admin rennt jetzt zu den 20 Rechnern hin
und installiert das Update.

Wenn dein Kunde eine Windows Domäne mit ActiveDirectory hat,
sollte er seinen Admin zu Schulungen schicken.

Das AD kann Windows Installerpakete (MSI-Dateien) automatisch installieren lassen.
* Bei Deployment Installationen wird die Software beim Booten des PCs installiert.

* Bei OnDemand Installationen können das sogar durch User erfolgen, welche keine Admintrechte haben.
Die Software wird dann in der Systemsteuerung angezeigt (s.h. Screenshot).

Ist zwar nicht die beste Beschreibung, aber es ist die, welche ich am schnellsten finden konnte:
http://www.castelle.com/support/docu...s/0012_MSI.pdf


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz