INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Programmatischer Softwareupdate



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

08.03.2010, 22:29 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2010 22:30 von unicorn.)
Beitrag #1

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Programmatischer Softwareupdate
Hallo,

ich möchte gerne meine LabVIEW-Applikation dahin erweitern, dass der Endnutzer der Software diese über einen Button auf die neueste Programmversion aktualisieren kann, also einen automatischen Download mit anschließender Installation startet. Wer hat so etwas schon einmal unter LabVIEW umgesetzt und kann mir ein paar Tipps geben?

Die von mir erstellte Software wird mit einem Gerät ausgeliefert. Derzeit entwickelt sich die Software sehr schnell weiter, so dass ein Update der Software über das Internet praktisch wäre.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.03.2010, 21:56
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Programmatischer Softwareupdate
Gemacht noch nicht, aber schon mal über so eine Thematik nachgedacht.

Das "Doofe" ist, dass du eigentlich eine zweite Software brauchst. Denn solange deine "Originalsoftware" läuft, kannst du ja nicht einfach eine neue Exe drüberkopieren, da spukt Windows dazwischen. Auf einem RT-System wäre das je nach Version etwas anderes.

Also grundsätzliche Idee:
Benutzer drückt Button
-> Software schaut per Internet (z.B FTP) nach, ob eine neue Version vorliegt.
-> Software startet eine Update-Software und beendet sich selbst.
-> Die Update-Software führt den Download durch und kopiert neue Version an die richtige Stelle.
-> Update-Software könnte noch den Neustart der Originalsoftware durchführen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.03.2010, 09:17
Beitrag #3

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Programmatischer Softwareupdate
Meine Anwendungen haben alle ein Auto-Update bei Programmstart.
Es wird geprüft, ob eine neue EXE (Build Version) vorliegt, wenn ja wird ein Dialog eingeblendet mit den Änderungen und Ja/Nein Taster.
Soll ein Update durchgeführt werden, wird eine Batch-Datei mit den entsprechenden Wait und Kopier Funktionen erstellt.
Die alte Anwendung wird beendet, wenn die neue (mit anderem Namen) kopiert (heruntergeladen) ist, die Batch-Datei löscht die alte, macht ein Rename der neuen und startet die Anwendung neu.
Ich benötige das aber nur im internen Netzwerk und kopiere nur Dateien, kein Install.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.03.2010, 11:29
Beitrag #4

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Programmatischer Softwareupdate
' schrieb:Meine Anwendungen haben alle ein Auto-Update bei Programmstart.
Es wird geprüft, ob eine neue EXE (Build Version) vorliegt, wenn ja wird ein Dialog eingeblendet mit den Änderungen und Ja/Nein Taster.
Soll ein Update durchgeführt werden, wird eine Batch-Datei mit den entsprechenden Wait und Kopier Funktionen erstellt.
Die alte Anwendung wird beendet, wenn die neue (mit anderem Namen) kopiert (heruntergeladen) ist, die Batch-Datei löscht die alte, macht ein Rename der neuen und startet die Anwendung neu.
Ich benötige das aber nur im internen Netzwerk und kopiere nur Dateien, kein Install.

Ist denn die erste Installation der Software mit einem Installer erfolgt?

Ein solche Vorgehensweise würde ja prinzipiell auch über das Internet möglich sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.03.2010, 09:59
Beitrag #5

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Programmatischer Softwareupdate
' schrieb:Ist denn die erste Installation der Software mit einem Installer erfolgt?
Ja mache ich so, einmal muss installiert werden.
Danach brauche ich nur die EXE und ev. eine INI zu aktualisieren, bis jetzt ging das immer.

' schrieb:Ein solche Vorgehensweise würde ja prinzipiell auch über das Internet möglich sein.
Ja, eigentlich schon. Was ich nicht weis, ob die Versionsinfo direkt von der EXE gelesen werden kann, oder ob es da eine Hilfsdatei (Versionsnummer.txt) braucht.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.03.2010, 11:20
Beitrag #6

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
Programmatischer Softwareupdate
Soweit ich es verstehe, kopiert der Installer die EXE auch nur in das Installationsverzeichnis. Zusätzlich kann man weitere Komponenten mit Installer kopieren oder installieren.

In meinem Programm verwende ich verschiedene Klassen und X-Controls. Das führt mit der Standardeinstellungen der Build Specifications für eine Application dazu, dass eine ganze Reihe von Unterverzeichnissen neben der EXE erstellt werden, in die die VIs der Klassen und XControls kopiert werden. Das macht die Angelegenheit etwas schwieriger.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
12.03.2010, 07:43 (Dieser Beitrag wurde zuletzt bearbeitet: 12.03.2010 07:45 von rolfk.)
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Programmatischer Softwareupdate
' schrieb:Ja, eigentlich schon. Was ich nicht weiss, ob die Versionsinfo direkt von der EXE gelesen werden kann, oder ob es da eine Hilfsdatei (Versionsnummer.txt) braucht.

Die neuste LabVIEW Version hat da glaube ich sogar Support an Board um die Windows Versionresource zu lesen, aber es gibt viele VIs im Netz die eine Widnows API aufrufen um das auch zu machen.

' schrieb:Soweit ich es verstehe, kopiert der Installer die EXE auch nur in das Installationsverzeichnis. Zusätzlich kann man weitere Komponenten mit Installer kopieren oder installieren.

Ich würde das Ganze mit meiner ZIP Library 1:1 in ein Archive zippen und dann im Updater auf dem Rechner wieder ins Zieldirectory entzippen. Dann ist der Download selber noch immer einfach und die Verteilung der Files wird durch die bereits vorhandene und getestete ZIP Library gemacht.

Aber der Installer macht schon mehr als nur das. Er registriert die App beim Betriebssytem so dass sie auch wieder deinstalliert werden kann, registriert allenfalls ein ActiveX Server Interface, and last but certainly not least, installiert er auch noch die notwendige Runtime Engine wenn sie nicht schon vorhanden ist. Also eine Erstinstallation auf dem Rechner ist wärmstens anzubefehlen.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.03.2010, 08:22
Beitrag #8

RoLe Offline
LVF-Guru
*****


Beiträge: 1.236
Registriert seit: Jul 2007

-
1997
en

0
Schweiz
Programmatischer Softwareupdate
' schrieb:Die neuste LabVIEW Version hat da glaube ich sogar Support an Board um die Windows Versionresource zu lesen, aber es gibt viele VIs im Netz die eine Widnows API aufrufen um das auch zu machen.
Ich verwende das ja auch, mit einem "lokalen" Dateipfad.
Die Frage ist, ob das auch mit einem FTP oder HTML Pfad geht.

.·´¯)--> Leben ist das, was dir passiert, wenn du eifrig dabei bist andere Pläne zu machen <--(¯`·.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.03.2010, 13:00 (Dieser Beitrag wurde zuletzt bearbeitet: 12.03.2010 13:01 von rolfk.)
Beitrag #9

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Programmatischer Softwareupdate
' schrieb:Ich verwende das ja auch, mit einem "lokalen" Dateipfad.
Die Frage ist, ob das auch mit einem FTP oder HTML Pfad geht.

Nein, Gott behüte! Kannst natürlich Deinen Server weit offen setzen um per DCOM von jedem beliebigen Rechner aus Windows Componenten anzurufen aber das schiene mir nicht ganz der Sinn der Übung. Big Grin

Natürlich könnte man per PHP bei einem HTTP Server zum Beispiel eine lokale Methode aufrufen um die Versionsnummer zu extrahieren, aber das scheint mir etwas Overkill. Ich würde da wohl ganz einfach eine entsprechende Namensgebung des eigentlichen Archives machen mit einer Redirection von einer generieken URL, oder wie schon von Dir erwähnt das parallele Textfile.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  programmatischer Zugriff auf Umgebungsvariablen via Pfad achim @ FZK 4 5.832 04.10.2011 13:10
Letzter Beitrag: achim @ FZK
  programmatischer Zugriff auf Such-Pfade s200rs 10 9.048 29.05.2007 14:25
Letzter Beitrag: s200rs

Gehe zu: