Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Autoupdate für App unter Vista (https://www.delphipraxis.net/88347-autoupdate-fuer-app-unter-vista.html)

Gruber_Hans_12345 14. Mär 2007 12:44


Autoupdate für App unter Vista
 
Hallo

Für meine Anwendung habe ich eine Autoupdatefunktion, damit bekomme ich natürlich spätestens unter Vista ein paar kleine probs ;)

Also, die updatefunktion im moment funkt so :
  • es wird eine Start.exe gestartet
  • die guckt nach, ob neue DLL's, neue EXE's oder neue DAT's verfügbar sind
  • kopiert dann die Files
  • startet die Anwendung.exe

Die neue Version liegt immer am Server der Firma, (also nicht übers INet), der admin legt die neueste Version an einen zentralen Platz am Firmenserver, und von dort holt sich jeder Client dann diese Version ab. (Damit der aufwand für den admin so gering wie möglich ist)

wie ist bei sowas die beste vorgehensweise, um auch unter vista so wenig probs wie möglich zu bekommen?

Bernhard Geyer 14. Mär 2007 12:46

Re: Autoupdate für App unter Vista
 
Wiso wird die Exe nicht vom Server gestartet?
Wenn nicht, Es gibt genügend fertige Verteilungsmechanismen die eine automatisches Update für Admins durchführen können (z.B. beim Login).

Gruber_Hans_12345 14. Mär 2007 13:22

Re: Autoupdate für App unter Vista
 
Zitat:

Zitat von Bernhard Geyer
Wiso wird die Exe nicht vom Server gestartet?
Wenn nicht, Es gibt genügend fertige Verteilungsmechanismen die eine automatisches Update für Admins durchführen können (z.B. beim Login).

Wenn ich die exe vom server aus starte, dann kann wiederum die exe am server ja nicht im lauf ersetzten, da die ja ständigst gesperrt ist oder?

Welche verteilungsmechanismen gibt es da?
Würde eine brauchen, die auch ohne neu login auskommt, gibt immer wieder user, die den rechner nicht jeden tag niederfahren, bzw. nicht jedesmal neu anmelden möchten.

das ganze sollte halt mit sowenig admin und install aufwand wie möglich auskommen.

mkinzler 14. Mär 2007 13:24

Re: Autoupdate für App unter Vista
 
Zitat:

Wenn ich die exe vom server aus starte, dann kann wiederum die exe am server ja nicht im lauf ersetzten, da die ja ständigst gesperrt ist oder?
Das geht mit einem Zwischenprogramm, welches du aus der Exe startest, diese beendest, die Exe ersetzt und sie neu startest.

Gruber_Hans_12345 14. Mär 2007 13:26

Re: Autoupdate für App unter Vista
 
Zitat:

Zitat von mkinzler
Zitat:

Wenn ich die exe vom server aus starte, dann kann wiederum die exe am server ja nicht im lauf ersetzten, da die ja ständigst gesperrt ist oder?
Das geht mit einem Zwischenprogramm, welches du aus der Exe startest, diese beendest, die Exe ersetzt und sie neu startest.

wenn ich am client eine exe starte die am server liegt, wie kann ich dann am server diese exe ersetzen?

wenn ich am client eine exe starte die am client liegt ist mir das klar, 2te exe starten, programm beenden, exe tauschen, neu starten.

Aber der vorschlag war ja, das alle 20 clients die exe am server starten, dann haben 20 rechner doch die exe in verwendung und sperren dieser oder?

mkinzler 14. Mär 2007 13:29

Re: Autoupdate für App unter Vista
 
Das Problem besteht so oder so. Du könntest aber einen Kenner Setzen, der ein weiteres Starten der Exe verhindert, bis das Update beendet ist.

Gruber_Hans_12345 14. Mär 2007 13:43

Re: Autoupdate für App unter Vista
 
Zitat:

Zitat von mkinzler
Das Problem besteht so oder so. Du könntest aber einen Kenner Setzen, der ein weiteres Starten der Exe verhindert, bis das Update beendet ist.

nein, das ist leider für meine anwedung keine option, alleine der aufwand, alle 20 user dazu zu bringen gleichzeitig aus dem system auszusteigen, warten und dann wieder einzusteigen ist zu groß

Am client funktioniert das kopieren ja schon ohne probleme, es wird die start.exe gestartet, und diese kopiert dann die richtige anwendung (wenn erforderlich), da ist es ja kein problem, da nur eine person gleichzeitig diese anwendung in verwendung hat, da kann diese kopiert und überschreiben werden.

nur unter vista muß ich ja nun entweder wieder allen usern den schreibzugriff auf das verzeichniss gewähren, dann funkt das ganze ja wieder, oder man macht das irgendwie anders, aber das einzige was mir einfällt wäre, das die start.exe mit einem Dienst kommuniziert, der dann die kopieroperation durchführt (Aber extra einen dienst zu schreiben, nur um zu kopieren .... ?)

mkinzler 14. Mär 2007 14:05

Re: Autoupdate für App unter Vista
 
Dann verteil es doch übers Active Directory.

hoika 14. Mär 2007 14:18

Re: Autoupdate für App unter Vista
 
Juuuhu,

willkommnen im Club.
Ich habe genau das gleiche Problem :wall:
Meine Vorgehensweise ist genau die gleiche (kleines Startprogramm usw.)
Wer hat da wohl von wem gekupfert ;)
Unter Vista klappt das wegen UAC gar nicht mehr.

Also MS hat zwei Möglichkeiten vorgeschlagen

1. MSP-Dateien (das sind Patchdateien auf Basis einer MSI-Installation)
das wird die MSI signiert und über ein Kommandzeilen-Programm
auf Client-Seite (MSIGEN oder so) wird der Path vom Server
oder lokal gestartet und ersetzt die alte Exe

Sowie so schlecht

2. Dienst schreiben, der das Ersetzen macht
Das ist die 2. Möglichkeit.
Wird aber von MS nicht empfohlen (Sicherheitsrisiko)

Ich tendiere zu Punkt2, signieren usw. klingt für mich wie 8 ;) Siegel.

Ich hatte im Jan. mal angefangen, nen Dienst zu schreiben
(nicht dafür), habe aber gerade zu viel anderes zu tun.
Bisher schreibt der Dienst nur munter eine Textdatei aud die Pladde ;)

Vielleicht sollte wir uns ja mal zusammentun.

Ich stelle mir das so vor, dass der Dienst die Info bekommt
Kopiere Datei X von Z nach C.
X Dateiname
Z Quelle (Server)
C Ziel

Das Ermitteln der notwendigen Dateien kann ja noch auf "Nicht-Dienst"-Ebene erfolgen.


Heiko

Gruber_Hans_12345 14. Mär 2007 14:33

Re: Autoupdate für App unter Vista
 
Zitat:

Zitat von mkinzler
Dann verteil es doch übers Active Directory.

wie macht man das? kann man das automatisieren?
(ich bin nicht der admin dort in der firma - die admins sind meist DAA (dümst anzunehmender admin ;) ) - also da muß alles so einfach wie möglich sein)



Zitat:

Zitat von hoika
1. MSP-Dateien (das sind Patchdateien auf Basis einer MSI-Installation)
das wird die MSI signiert und über ein Kommandzeilen-Programm
auf Client-Seite (MSIGEN oder so) wird der Path vom Server
oder lokal gestartet und ersetzt die alte Exe

Sowie so schlecht

signieren ... das hört sich noch kosten bei jeder neuer version an?

Zitat:

Zitat von hoika
2. Dienst schreiben, der das Ersetzen macht
Das ist die 2. Möglichkeit.
Wird aber von MS nicht empfohlen (Sicherheitsrisiko)

Ich tendiere zu Punkt2, signieren usw. klingt für mich wie 8 ;) Siegel.

Ich hatte im Jan. mal angefangen, nen Dienst zu schreiben
(nicht dafür), habe aber gerade zu viel anderes zu tun.
Bisher schreibt der Dienst nur munter eine Textdatei aud die Pladde ;)

Vielleicht sollte wir uns ja mal zusammentun.

Ich stelle mir das so vor, dass der Dienst die Info bekommt
Kopiere Datei X von Z nach C.
X Dateiname
Z Quelle (Server)
C Ziel

Das Ermitteln der notwendigen Dateien kann ja noch auf "Nicht-Dienst"-Ebene erfolgen.

Heiko

Nen dienst zu schreiben, der das macht, sollte kein problem sein (und wenn schon, dann soll der dienst alles machen, also auch das prüfen und so) aber ist halt nicht die perfekte lösung ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr.
Seite 1 von 2  1 2      

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