| 

.NET C# Java Javascript Exception

1
Hallo,
wie der Titel schon verrät würde ich meiner Anwendung gern eine Updatefunktionalität zur Verfügung stellen. Natürlich wäre es mir am liebsten wenn ich die Update funktion aus meiner anwendung.exe starten könnte ohne weitere Dateien mitliefern zu müssen. Gibt es bereits einfachere Möglichkeiten als die von mir ausgedachte:

-> meine anwendung.exe extrahiert aus den resourcen, eine weitere update.exe, die das update meiner eigentlich anwendung.exe durchführt, und wird anschließend wieder deleted.

Die Updates würde ich auf ein FTP/ Webdav oder sontiges schmeissen. Hoffe mir kann jemand weiterhelfen

Gruß

Spicejam
16.06.2011
spicejam 853 2 6
4 Antworten
5
Neben den erwähnten Möglichkeiten kannst du auch die kostenlose Komponente updateSystem.NET benutzen.
16.06.2011
Konstantin 3,7k 8
+1 von mir. Nur würde mich interessieren was du damit für erfahrungen gemacht hast. Lässt sich damit auch die zur Anwenung gehörige DB aktualisieren?
Thomas Sczyrba 16.06.2011
Erfahrungen hab ich sehr gute mit gemacht. Wenn man Probleme hat bzw. sich Neuerungen wünscht, ist der Entwickler auch jederzeit ansprechbar und leistet sehr guten Support. Was die DB Aktualisierung angeht, ich persönlich hab das noch nicht getestet, aber du kann in dem UpdateController verschiedene "Aktionen" hinterlegen, z.B. einen Prozess starten, Dienst starten etc. du könntest auch ein Batchskript starten, was deine DB aktualisiert. Aber selbst getestet habe ich das wie gesagt noch nicht.
Konstantin 16.06.2011
Erfahrungen hab ich sehr gute mit gemacht. Wenn man Probleme hat bzw. sich Neuerungen wünscht, ist der Entwickler auch jederzeit ansprechbar und leistet sehr guten Support. Was die DB Aktualisierung angeht, ich persönlich hab das noch nicht getestet, aber du kann in dem UpdateController verschiedene "Aktionen" hinterlegen, z.B. einen Prozess starten, Dienst starten etc. du könntest auch ein Batchskript starten, was deine DB aktualisiert. Aber selbst getestet habe ich das wie gesagt noch nicht.
Konstantin 16.06.2011
danke, ich schaus mir mal an :)
spicejam 20.06.2011
Also, nachdem das alles viel zu kompliziert war, hab ich es selber gelöst mit genau folgendem weg:
meine anwendung.exe extrahiert aus den resourcen, eine weitere update.exe, die das update meiner eigentlich anwendung.exe durchführt, und wird anschließend wieder deleted. wenn jemand interesse hat einfach melden.
spicejam 21.06.2011
Nur fürs Protokoll, was fandest du an der Lösung kompliziert?
Konstantin 22.06.2011
Nur fürs Protokoll, was fandest du an der Lösung kompliziert?
Konstantin 22.06.2011
2
Das .NET Framekwork bzw. VisualStudio bitete dazu eine hauseigene Lösung namens ClickOnce.
Diese kannst Du in deinen Projekteinstellungen unter dem Reiter "Veröffentlichen" nutzen.

http://msdn.microsoft.com/de-de/library/142dbbz4%28v=vs.80%29.aspx

Du solltest Dich aber vorher gut schlau machen was im Hintergrund bei ClickOnce passiert da es ein paar Einschränkungen mit sich bringt.
16.06.2011
Slashi 409 2 8
dann bin ich ab immer an vb gebunden oder? ich würde das gerne unabhängig lösen.
spicejam 20.06.2011
0
Das habe eigentlich genau auch so gelöst. Meine App schaut periodisch (einstellbar) auf einem FTP-Server nach, ob eine neuere Version vorhanden ist und lädt diese dann runter und installiert sie.
Probleme: Zugriff auf FTP muss irgendwie (fix) definiert werden; Installation darf ev. von Anwender nicht durchgeführt werden, da er keine Berechtigungen hat
16.06.2011
Tosch 216 5
0
Wenn ich das richtig verstehe, geht es darum, die Anwendung immer durch die aktuellste Version ohne Zutun des Users zu machen.

Ich habe das auf eine andere (möglicherweise eigenartige) Art gelöst. In meiner Anwendung gibt´s (nur bei mir) einen "Mich veröffentlichen!" Button. Wenn ich den anklicke, wird die Versionsnummer in einer Tabelle in der Datenbank geschrieben. Die .exe liest beim Starten dann die Versionsnummer, bemerkt die Aktualisierung. Daraufhin wird eine Meldung ausgegeben, dass die .exe bitte neu gestartet werden soll. Danach wird eine .bat aufgerufen, die einfach die aktuelle Version auf den Rechner kopiert.

Da die Versionsnummer im Code hartcodiert ist, denke ich, eine recht gute Lösung. Mit Sicherheit gibt es noch viel elegantere Lösungen, die möglicherweise noch effektiver arbeitet (insbesondere, weil bei meiner Lösung die Anwendung eben zwei Mal gestartet werden muss).
16.06.2011
muffi 1,4k 1 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH