Updatemanager

Status
Nicht offen für weitere Antworten.

Wolfgang Lenhard

Bekanntes Mitglied
Hi,
ich würde gerne in meine Programme (Desktopapplikationen für Windows) eine Art Update-Manager einbauen, also eine Funktion, die einem sagt, ob eine neuere Programmversion zur Verfügung steht. Ich hatte mir gedacht, ich lege auf der Produkthomepage einfach eine kleine Textdatei ab, die ich aus dem Programm heraus lade (bei Klick auf den entsprechenden Menüpunkt) und vergleiche die dort gespeicherte Versions-Info mit der Version des installierten Programms. Falls eine neuere Version zur Verfügung steht, dann wird die Update-Seite im Browser aufgerufen und der Nutzer kann sich das Update laden (installer auf der Basis von NSIS).

Spricht etwas dagegen, das so zu machen oder gibt es vielleicht schlaue Projekte für Java, die bereits so etwas zur Verfügung stellen? Webstart kann das ja ganz gut, aber das fällt leider flach (Kunde wünscht Programm, das sich wie native Windows-Software verhält). Ach ja, die Produkthomepage liegt auf einfachem Webspace, also keine Möglichkeit für Servlets.

Viele Grüße,
Wolfgang
 

tincup

Bekanntes Mitglied
IMHO spricht nichts dagegen. Ich hab das mal genauso gemacht und es funktioniert wunderbar. Eventuell könntest du statt des Webbrowser-Öffnens direkt aus deinem Java-Programm den download anschmeissen und optimalerweise auch das Update direkt starten. Dafür brauchst du dann aber wahrscheinlich eine zweite Applikation, die du starten musst.

Meine Textdatei hatte einfach zwei Zeilen, erste Zeile Versionsnummer, zweite Zeile Link auf aktuellste Version.

Grüsse,
Tin
 

Wildcard

Top Contributor
Was ist an Webstart bitte anders als bei 'nativer' Software?
Wenn man auf den Balast eines Installers steht, kann der auch "javaws deineJNLP" aufrufen :roll:
 

Wolfgang Lenhard

Bekanntes Mitglied
Naja, z. B. muss bei Webstart alles in einem Jar sein. Außerdem soll das Programm vollen Zugriff auf das System (Laden, Speichern von Dateien, Zwischenablage, Drucken ...) haben und dazu müsste ich es signieren. Das wäre mir aber auf Dauer zu teuer. Außerdem wird das Programm normalerweise von CD ausgeliefert und das gilt teilweise auch für die Updates. Alles Gründe, die in diesem konkreten Fall eher gegen Webstart sprechen.
Und dann gibt es noch weitere Dinge, die man möglicherweise auch besser machen könnte, die aber bei mir ganz gut funktionieren: Programm-jar in exe gewrappt etc.

Ciao,
Wolfgang
 

Wildcard

Top Contributor
Wolfgang Lenhard hat gesagt.:
Naja, z. B. muss bei Webstart alles in einem Jar sein.
Ach, und du lieferst blanke class Files aus? ???:L
Wolfgang Lenhard hat gesagt.:
Außerdem soll das Programm vollen Zugriff auf das System (Laden, Speichern von Dateien, Zwischenablage, Drucken ...) haben und dazu müsste ich es signieren. Das wäre mir aber auf Dauer zu teuer.
Eine Signierung kostet kein Geld.

Und dann gibt es noch weitere Dinge, die man möglicherweise auch besser machen könnte, die aber bei mir ganz gut funktionieren: Programm-jar in exe gewrappt etc.
Igitt :wink:
 

L-ectron-X

Gesperrter Benutzer
Wolfgang Lenhard hat gesagt.:
Wildcard hat gesagt.:
Ach, und du lieferst blanke class Files aus?
Nee, aber es gibt ja auch noch so etwas wie Konfigurationsdateien, in die man auch etwas schreiben können muss.
Konfigurationsdateien haben in einem Jar-File nichts verloren. Sie sollten auf dem Zielsystem angelegt werden.


Wolfgang Lenhard hat gesagt.:
Wildcard hat gesagt.:
Eine Signierung kostet kein Geld.
Doch, weil selbst erstellte Zertifikate nur ein halbes Jahr gültig sind.
Du kannst die Gültigkeit eines selbst erstellten Zertifikats mit dem keytool-Parameter -validity auf bis zu 100 Jahre ausdehnen. Ich denke, das sollte genügen. :wink:
(Siehe auch FAQ)
 

Wildcard

Top Contributor
L-ectron-X hat gesagt.:
Konfigurationsdateien haben in einem Jar-File nichts verloren.
Es ist durchaus valide eine Default Konfiguration auszuliefern und aus dem jar zu kopieren (damit nichts hart verdrahtet wird), aber mit der Grundaussage hast du natürlich recht.
 

tincup

Bekanntes Mitglied
Also an der Signierung der JARs solls nun wirklich nicht scheitern. Wie Wildcard und L-ectron-X schon sagten kann man ja selbst signieren und den Gültigkeitszeitraum beliebig wählen. Signieren ist ja kein geheimnisvoller Vorgang, das kann jeder überall machen. Es geht nur drum ob der User dem Zertifikat auch traut. Nur das sollte dein Kunde ja so oder so tun bei deiner Software :wink:
 

Wolfgang Lenhard

Bekanntes Mitglied
Ah, danke für den Hinweis. Ich dachte, die mit dem Keytool selbst erstellten Zertifikate sind grundsätzlich nur 1/2 Jahr gültig. Danke für die Tipps.
 

Tobias

Top Contributor
Zu dem Punkt "Auslieferung auf CD": Ich kann doch die Webstart-Beschreibungsdateien auch auf eine CD brennen und dem javaws dann sagen, das es die Beschreibungsdatei (hab den Namen vergessen) von CD lesen soll und sich von da die Files holt, oder?

mpG
Tobias
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben