|
| » myCSharp.de Diskussionsforum |
|
|
|
|
Autor
 |
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
|
|
Aktuelle Version: 1.5.1
Produktseite: updateSystem.NET
Quellcode: @github
Download
BugTracker
Gastaccount für den Bugtracker:
Benutzername: Gast
Passwort: gast123
Unterstützte Betriebssysteme: Windows XP bis Windows 7
Benötigte .Net Frameworkversion: 2.0 |
Zusammenfassung
Das updateSystem.NET ist eine Updatelösung für .Net Anwendungen. Es kann einfach über die updateController-Komponente in die Anwendung eingebettet werden.
Der updateController bietet für die Updatesuche, die Anzeige und den Download eine moderne Oberfläche an. Es ist aber auch möglich diese Vorgänge komplett selbst zu gestalten. Dafür stehen einfach zu bedienende Methoden und Events bereit.
Benötigt wird lediglich ein Webspace welcher über FTP und HTTP zu erreichen ist. Für die Verbindung kann auch FTP über SSL verwendet werden, SFTP wird momentan noch nicht unterstützt.
Was kostet's?
Das updateSystem.NET ist und bleibt Kostenlos.
Da es sich hierbei aber um ein Hobbyprojekt von mir handelt kann ich nur begrentzt Support anbieten.
Statistikerfassung
Mit dem updateSystem.NET ist es optional möglich Statistiken über die Updateanfragen und Downloads zu sammeln. Die Auswertung der Daten erfolgt im updateDesigner.
Für einen Statistikserver benötigt man einen Webspace/Server mit Asp.Net (min. 2.0) und einen MsSql Server oder alternativ PHP und MySQL.
Hohe Skalierbarkeit
Der Updateprozess läßt sich durch die integrierten updateActions so gestalten wie es der Entwickler benötigt. Die einzelnen Aktionen wie z.B. das Kopieren- Ausführen oder Löschen von Dateien können unbegrentzt Hinzufügt und Angeordnet werden.
Bitte jetzt den Dateianhang anschauen :-)
Sicherheit
Die vom updateDesigner erstellen Updatepakete werden digital Signiert und vor der Installation vom updateInstaller überprüft. Dadurch wird sichergestellt, dass die Updatepakete korrekt heruntergeladen und auf dem Server nicht manipuliert wurden.
Benutzerkontensteuerung - Windows Vista/7 Support
Die Dateien des updateSystem.Net sind allesamt digital signiert, so dass dem Benutzer bei der Aktualisierung keine irritierende Meldungen über "Unbekannte Herausgeber" angezeigt werden.
Desweiteren werden auch alle Prozesse die von dem updateInstaller gestartet werden, standardmäßig mit den Benutzerrechten eines normalen Benutzers gestartet, auch wenn dieser als Administrator gestartet wurde.
Der updateInstaller benutzt zu dem auch die neue(n) UI Funktion(en) (momentan nur eine aber mal sehen was ich da noch finde :-)) von Windows 7. Zum Beispiel wird der Fortschritt der Installation auch in der Taskleiste angezeigt.
Wie Funktionierts nun genau?
Herz des ganzen ist der updateController (zu finden in der updateSystemDotNet.Controller.dll im Programmverzeichnis des updateSystem.Net) welcher in den Projekten Referenziert werden muss in welchen die Updatefunktionalität enthalten sein soll.
Der updateController kann als Komponente wie z.B. der BackgroundWorker oder Timer direkt von der ToolBox (muss manuell hinzugefügt werden) auf die Form gezogen und von dort über das PropertyGrid konfiguriert werden.
Ein kleines Schnellstartutorial wie die Updatesuche- der Download und die Installation am besten aufgerufen werden können gibt es hier.
Das updateSystem.Net bietet natürlich noch weitere Funktionen, aber am besten ist es wenn ihr es selber mal ausprobiert, es kostet ja nichts :).
Eine Dokumentation für alle Eigenschaften, Events, etc. des updateController gibt es als CHM-Hilfedatei im Programmverzeichnis.
Über Testberichte oder Bugreports etc. würde ich mich sehr freuen, ich habe zwar alles ausgiebig getestet, aber es ist einfach nich möglich alle Testszenarien abzudecken.
Was momentan noch fehlt ist ein gescheites Log-System. Das steht noch ganz oben auf meiner ToDo-Liste.
Also, Danke schonmal fürs Testen,
viele Grüße Maximilian
Maximilian hat dieses Bild angehängt:

Dieser Beitrag wurde 20 mal editiert, zum letzten Mal von Maximilian am 11.03.2012 13:21.
|
|
03.10.2009 15:17
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Zony
myCSharp.de-Mitglied
Dabei seit: 07.02.2007
Beiträge: 75
Entwicklungsumgebung: Visual Studio 2010 Herkunft: NZ
|
|
Hallo,
ich bin dann heute mal dazu gekommen dein Programm zu testen.
Leider bekomme ich aktuell noch einen Fehler. Eventuell kannst du mir hier ja einen Tipp geben (ich hab aus Zeitmangel noch nicht soo wirklich viel gesucht).
Ich hab die Komponente laut deinem Forenbeitrag kurz eingebunden und mit der Admin GUI ein Update auf meinen Server hochgeladen.
C#-Code: |
private void button1_Click(object sender, EventArgs e)
{
updateSystemDotNet.updateController updateController1 = new updateController("http:
updateController1.updateInteractive(this);
updateController1.updateInstallerStarted += new updateSystemDotNet.updateInstallerStartedEventHandler (updateController1_updateInstallerStarted);
}
void updateController1_updateInstallerStarted(object sender, updateSystemDotNet.appEventArgs.updateInstallerStartedEventArgs e) {
this.Close();
}
|
Das Update wird auch gefunden, nach dem Klick auf installieren werde ich auch nach meinen Benutzerdaten (Admin) gefragt. Anschließend bleibt das Programm mit folgendem Fehler hängen:
| Zitat: |
| Das Update konnte auf Grund folgenden Fehlers nicht fortgesetzt werden:Ein Teil des Pfades "C:\Windows\TEMP\b10a10ebc2d446b48ced9b27abdb52d1\bth_1.1.0.0.version.zip" konnte nicht gefunden werden. |
OS ist Windows Vista x64
Ansonsten finde ich die Komponente sehr gelungen.
Die Admin GUI bietet einem mit dem Ablaufplan viele möglichkeiten und ist ansonsten recht einfach zu verstehen.
Das einbinden ins Programm ist auch ohne viel Aufwand möglich :)
Was ich aktuell noch vermisse ist die Statistikunterstürzung für PHP & MySQL aber ich denke die wird noch kommen.
Grüße
|
|
05.10.2009 20:53
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
Themenstarter
|
|
So, eine neue Version ist raus. Zwar immernoch Beta aber der Final schon ein Stück näher.
Eine Übersicht über die Änderungen gibts hier.
Ein bisschen stolz bin ich auf den Assistenten für ein neues Projekt, der Integriert sich jetzt perfekt in das Aero Glass Design (Screenshot davon im Anhang).
Die neue Version gibts entweder über die Downloadseite (Link weiter oben) oder über die Integriert Updatefunktion.
Cheerio
Maximilian hat dieses Bild angehängt:

|
|
29.10.2009 18:47
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Zony
myCSharp.de-Mitglied
Dabei seit: 07.02.2007
Beiträge: 75
Entwicklungsumgebung: Visual Studio 2010 Herkunft: NZ
|
|
Hi DonMaxo,
einen Vorschlag hätte ich spontan noch.
Dein "Update verfügbar" Dialog (Anhang) kann in der Größe nicht verändert werden.
Das ganze sieht zwar nett aus aber das lesen der Release Infos ist so sehr umständlich.
Ich würde es besser finden, wenn die Größe variabel wäre.
Edit:
Ich habe grade versucht einen Statistikserver zu installieren. Leider weiß ich nicht was ich bei der Datenbank angeben soll. Kannst du mir eventuell eine kleine Hilfe geben?
Gruß
Zony hat dieses Bild angehängt:

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Zony am 29.10.2009 23:02.
|
|
29.10.2009 21:42
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
Themenstarter
|
|
Hallo zusammen,
es gibt ein Update auf die Version 1.0.500.
Changelog- Benutzer wird im Assistenten vom Statistiksetup darauf hingewiesen, dass die notwendige Tabelle automatisch vom Installer erstellt wird.
- Statistikserverübersicht wird nach PHP und ASP.NET gruppiert.
- Funktion zum Updaten von Statistikservern.
- Changelogtextbox im updateController ist nun ReadOnly.
- Clipboard Importplugin integriert.
- Neue Version vom PHP Statistikscript, bitte über die integrierte Funktion aktualisieren.
Beste Grüße,
Maximilian
|
|
14.03.2010 14:41
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Tarion
myCSharp.de-Mitglied
Dabei seit: 23.03.2009
Beiträge: 380
Entwicklungsumgebung: VS2010 Ultimate
|
|
Klingt super, würde ich gerne nutzten.
Hab nur etwas Angst vor auftretenden Fehlern, gerade beim Updater ist man dann doch sehr aufgeschmissen. Ist es möglich den Quellcode zu erhalten? Wie ist der Lizenziert?
Gruß, Tarion
|
|
17.03.2010 23:16
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Jelly
myCSharp.de-Mitglied
Dabei seit: 09.09.2007
Beiträge: 1.111
Entwicklungsumgebung: Visual Studio 2008 Herkunft: Burden (Luxemburg)
|
|
Also erstmal begrüsse ich diese Projekt sehr. Ich habs heute das erste Mal hier im Forum entdeckt. Und ich werds mir definitiv auch mal anschauen. Aber eins stört mich von vorne weg:
| Zitat von Maximilian: |
Benutzerkontensteuerung - Windows Vista/7 Support
...
Desweiteren werden auch alle Prozesse die von dem updateInstaller gestartet werden, standardmäßig mit den Benutzerrechten eines normalen Benutzers gestartet, auch wenn dieser als Administrator gestartet wurde. |
Das seh ich wiederum als ein Problem. Wenn ein Benutzer die Updates einspielen soll, so sind nun mal eben normalerweise administrative Rechte notwendig. Im Regelfall kann ich weder unter "c:\Program Files" was reinschreiben, noch einen Registry Schlüssel unter HKLM anlegen. Ein Update geht also in 99% der Fälle schief, wenn der Anwender am PC nur also schlichter User oder Domain User definiert ist. Das ist aber in den allermeisten Firmen der Fall. Administrative Rechte (auch nicht lokale) sind in den wenigsten Fällen dem Enduser vergeben.
Da ich mich mit dieser Problematik auseinander gesetzt habe, weiss ich allerdings auch dach die Lösung nicht trivial ist, auch normalen Usern die Updatefunktion anzubieten, ohne über irgendwelche Impersonifikatione o.ä. zu gehen.
Trotzdem begrüsse ich dein Projekt natürlich sehr, und werds mir, wie gesagt, mal anschauen.
|
|
18.03.2010 08:52
|
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
Themenstarter
|
|
| Zitat: |
| Du sagst, du forderst Adminrechte an, um das Updaten zu starten. Dazu muss der User aber dann wohl einen entsprechenden Account mit Passwort angeben. Das ist aber nicht unbedingt gewährleistet. Aber vielleicht versteh ich ja immer noch was falsch. |
Das hast du schon richtig verstanden. Die Adminrechte werden beim Start angefordert, für die Zwangsläufig ein Adminaccount benötigt wird. Ich wüsste aber auch nicht wie man das sonst machen sollte außer über einen Service.
Cheerio
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Maximilian am 18.03.2010 11:00.
|
|
18.03.2010 10:57
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
| Zwischen diesen beiden Beiträgen liegen mehr als 2 Monate. |
wizer
myCSharp.de-Mitglied
Dabei seit: 28.04.2007
Beiträge: 194
|
|
Hey arbeitest du noch an dem Updater?
Ich benutze ihn für eines meiner Projekte und bin überaus begeistert davon! Leider gibt es noch ein paar Kleinigkeiten die man ändern könnte. Beispielsweise würde ich gerne steuern können, ob der Dialog, dass das Update erfolgreich verlaufen ist, angezeigt werden soll oder nicht. Denn ich habe direkt nach dem kopieren der Dateien das Starten des Prozesses drinnen und dann überlappt sich deine Meldung mit meinem Programm. Könntest du das irgendwie einrichten?
Außerdem wie hast du es hinbekommen, dass bei der Sicherheitsabfrage, ob der Updater wirklich gestartet werden soll, nicht unbekannter Autor sondern dein Name steht?
Außerdem gibt es manchmal einen Bug, wenn ich bei einem Update einen Ordner im $appdata Verzeichnis erstellen lasse, dass der Inhalt, zb. Dlls die ich dazugeben, nicht gespeichert werden...
Mfg wizer
|
|
30.05.2010 15:36
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
Themenstarter
|
|
Hey wizer :-)
jau, ich Arbeite noch fleißig an meinem Updatesystem. Diesmal an einem größeren Update weshalb es hier relativ ruhig geworden ist. Ungefährer Releasetermin davon ist irgendwann in den nächsten 2-3 Wochen.
Eine kleine Roadmap was bereits implementiert wurde und was noch kommt ist hier zu finden: Roadmap
| Zitat: |
| Beispielsweise würde ich gerne steuern können, ob der Dialog, dass das Update erfolgreich verlaufen ist, angezeigt werden soll oder nicht. |
Gibts schon, dass kannst du über die Eigenschaft autoCloseUpdateInstaller vom updateController regeln.
| Zitat: |
| Denn ich habe direkt nach dem kopieren der Dateien das Starten des Prozesses drinnen und dann überlappt sich deine Meldung mit meinem Programm. |
Das kann/sollte man eleganter lösen. Der updateController bietet die Eigenschaft restartApplication mit welcher die Anwendung welche das Update ausgelöst hat nach dem Update wieder gestartet wird.
| Zitat: |
| Außerdem wie hast du es hinbekommen, dass bei der Sicherheitsabfrage, ob der Updater wirklich gestartet werden soll, nicht unbekannter Autor sondern dein Name steht? |
Der updateInstaller ist digital Signiert. Deshalb wird nicht mehr "Unbekannter Herausgeber" sondern mein Name angezeigt. (s. CodeSigning)
Wegen dem Bug werde ich mal schauen, dass ist so jedenfalls nicht gewollt.
Ansonsten vielen und viele Grüße, Maximilian
|
|
30.05.2010 16:00
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Patros46
myCSharp.de-Mitglied
Dabei seit: 01.12.2009
Beiträge: 11
|
|
Hallo,
erstmal danke für diesen grandiosen Assistenten. Genau so etwas habe ich gesucht.
Nun aber zu meinem Problem: Bei mir hakt es schon direkt zu Beginn. Ich verweise in meinem Projekt zunächst auf die angegebene .dll-Datei. Anschließend lade ich den updateController in die Toolbox. Wenn ich aber nun den updateController auf meine Form ziehe, so erhalte ich folgende Fehlermeldung:
Fehler: Der Typ- oder Namespacename "updateSystemDotNet" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)
Und dazu noch diese Warnung:
Die Assembly "updateSystemDotNet.Controller", auf die verwiesen wird, konnte nicht aufgelöst werden, da sie eine Abhängigkeit von "System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" aufweist (nicht im aktuellen Zielframework ".NETFramework,Version=v4.0,Profile=Client" enthalten). Entfernen Sie Verweise auf im Zielframework nicht enthaltene Assemblys, oder weisen Sie das Projekt neu zu.
Was mach ich nur falsch? Ich bedanke mich schonmal im Voraus für eine Antwort.
MfG Patros46
|
|
30.05.2010 19:54
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Tarion
myCSharp.de-Mitglied
Dabei seit: 23.03.2009
Beiträge: 380
Entwicklungsumgebung: VS2010 Ultimate
|
|
Aus deiner Roadmap:
| Zitat: |
| Die Programmversion in der Registry kann nun bei einem Update automatisch auf die neueste Version gesetzt werden. |
Im Moment nehme ich als Verison die Version der Hauptassembly, das hat natürlich nachteile, da diese bei jedem Update ersetzt werden muss.
Wo speicherst du die aktuelle Programmversion? Tatsächlich in der Registry? Dann ist man aber sehr von einem automatischen Installer abhängig, einfach mal einzelne ersetzten geht dann nicht.
Eine extra config Datei mit liefern welche die Programmversion enthält wäre auch noch eine Möglichkeit. Die lässt sich leicht mit updaten und ist im Notfall auch einfach von hand zu überprüfen / ändern.
Was sind da so deine bevorzugten Lösungen?
Wie ist das neue Feature mit der Registry realisiert?
P.s.: Nochmal dickes Lob, echt ein super Programm.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Tarion am 17.06.2010 22:45.
|
|
17.06.2010 22:43
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
Themenstarter
|
|
Moin Tarion,
also das Update der Versionsnummer in der Registry soll eigentlich nur dafür sorgen, dass a) die richtige Version in der Systemsteuerung steht und b) auch das Installationsprogramm weiß welche Version derzeit Installiert ist, falls dieses selbst eine zusätzliche Updateoption bietet.
| Zitat: |
| Was sind da so deine bevorzugten Lösungen? |
Ich lasse die aktuell Installierte Version immer aus der Hauptassembly aufrufen, da ich diese bei jedem Build eh automatisch erhöhen lasse ist der Aufwand für mich gleich 0 :)
| Zitat: |
| Wie ist das neue Feature mit der Registry realisiert? |
Recht simpel. Du gibst im updateDesigner die Installations-ID deiner Anwendung an und der updateInstaller ersetzt bei jedem Update in der Registry den entsprechenden Wert.
Ansonsten besten Dank und viele Grüße,
Maximilian
|
|
18.06.2010 01:55
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Tarion
myCSharp.de-Mitglied
Dabei seit: 23.03.2009
Beiträge: 380
Entwicklungsumgebung: VS2010 Ultimate
|
|
Kleiner Bug:
Wenn man im Wizard für das Erstellen eines php servers zurück und wieder vor geht, bleiben alle Daten erhalten, bis auf der Datenbankserver, der wird wieder auf localhost gesetzt.
Ist nicht sonderlich schlimm, nur die Fehlermeldung bei angabe eines falschen sql servers (bei mir ist er eben nicht localhost) führt zu einer verwirrenden Fehlermeldung.
Irgendwas mit Zeichen 2 in Zeile 2 oder so.
Und als kleines Feature könnte er sich die FTP Daten bis auf das Passwort merken. Würde die Projekterstellung noch angenehmer machen.
Dann ist das exportieren der Daten in die Zwischenablage ja super. Aber ich konfiguriere alles im code. Wäre toll wenn man das auch in einem FOrmat für dne Quellcode exportieren könnte. Kann sich ja alles auf die variable "updater" oder so beziehen.
Gruß, Tarion
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Tarion am 21.06.2010 23:22.
|
|
21.06.2010 23:19
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
tomtom62
myCSharp.de-Mitglied
Dabei seit: 18.06.2006
Beiträge: 219
Entwicklungsumgebung: VS 05 St.,VS 2008,LN 5-6
|
|
Hallo Maximilian,
| Zitat: |
| Die Programmversion in der Registry kann nun bei einem Update automatisch auf die neueste Version gesetzt werden. |
dank für das Update. Ich habe es noch nicht ausprobiert, aber ich hoffe das der Registry-Eintrag optional ist. Im anderen Fall wären natürlich portable Applikationen, die ja ohne Installation funktionieren sollen, gefährdet.
Thomas
|
|
22.06.2010 08:02
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
Themenstarter
|
|
Hey Tarion,
um den Fehler mit dem Servernamen werde ich mich kümmern, eigentlich sollte das nicht passieren. Nungut, ist mit dem nächsten Update behoben.
Ich werde auch schauen, dass ich irgendwo die Zugangsdaten für die Server speichere, das haben schon einige bemängelt.
| Zitat: |
| Dann ist das exportieren der Daten in die Zwischenablage ja super. Aber ich konfiguriere alles im code. Wäre toll wenn man das auch in einem FOrmat für dne Quellcode exportieren könnte. Kann sich ja alles auf die variable "updater" oder so beziehen. |
Wird erledigt :-)
Hey Thomas,
| Zitat: |
| dank für das Update. Ich habe es noch nicht ausprobiert, aber ich hoffe das der Registry-Eintrag optional ist. Im anderen Fall wären natürlich portable Applikationen, die ja ohne Installation funktionieren sollen, gefährdet. |
Ich nutze meinen Updater selbst in portablen Anwendungen, deshalb achte ich auch immer darauf, dass er mit diesem Konzept auch Kompatibel ist. Wenn du im updateDesigner keine Installations-ID angibst, dann wird auch nichts in der Registry aktualisiert :-)
Cheerio
|
|
22.06.2010 12:18
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Tarion
myCSharp.de-Mitglied
Dabei seit: 23.03.2009
Beiträge: 380
Entwicklungsumgebung: VS2010 Ultimate
|
|
Und beim Testen ist uns noch eine kleinigkeit aufgefallen. Wenn man Restart Application einstellt und der Updater fertig ist, dann steht da das man den Updater nun schließen soll, dass die Anwendung danach neu gestartet wird ist in dem Moment nicht ersichtlich. Vielleicht den Button umbenennen oder sogar das Restarten optional machen.
|
|
26.06.2010 11:18
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Jelly
myCSharp.de-Mitglied
Dabei seit: 09.09.2007
Beiträge: 1.111
Entwicklungsumgebung: Visual Studio 2008 Herkunft: Burden (Luxemburg)
|
|
Ich hatte nun gestern etwas Zeit, das updateSystem daheim zu testen. Also eins schon mal vorweg: Es hat tadellos funktioniert, ohne Fehlermeldungen, und ich muss wirklich sagen, dass dir das Ganze echt gut gelungen ist.
Ein Anmerkung dennoch:
Es gibt leider keine Möglichkeit, einen Prozess nach dem Update wieder erneut zu starten, und dabei die ursprünglichen Commandline Parameter wieder mitzugeben. Soll heissen: Ich starte mein Anwendung mit
Code: |
1:
|
app.exe /x |
|
Beim Start meiner Anwendung prüfe ich dann auf Updates, und führe diese dann gegebenfalls durch, und möcht anschliessend wieder meine app.exe aufrufen. Der Aufruf an sich ist ja kein Problem, aber der Parameter /x geht mir verloren.
|
|
28.06.2010 14:24
|
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Fabian E.
myCSharp.de-Mitglied
Dabei seit: 24.07.2008
Beiträge: 258
Entwicklungsumgebung: VS 2008 Pro VS 2010 Ultimate
|
|
Hallo,
ich habe gerade deine Bibliothek ausprobiert und bin geradezu begeistert =)
Das klappt ja lles super! =)
Arbeitest du noch an dem Projekt? Ich hätte nämlich auf die Schnelle noch eine Verbesserung.
Nachdem die Updates heruntergeladen wurden entsteht eine relativ lange Pause bevor sie installiert werden.
Vielleicht könntest du dort noch ein kleines Fenster einbauen, dass zeigt, dass der Update-Vorgang noch läuft.
Ansonsten echt eine super Sache. =)
|
|
10.07.2010 17:24
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Fabian E.
myCSharp.de-Mitglied
Dabei seit: 24.07.2008
Beiträge: 258
Entwicklungsumgebung: VS 2008 Pro VS 2010 Ultimate
|
|
Die Pause kann sich schon so über 5-10 Sekunden erstrecken.
Meistens aber so 3-4. War auch nur ein Vorschlag ;)
Ich schließe halt auch noch mein Programm vor dem installieren, deswegen ist dann erstmal gar nichts zu sehen.
Noch etwas:
Wenn ich eine Beta veröfefntliche, dann wäre es schön, wenn in dem Dialog "neues Update verfügbar" auch neben der Versionsnummer ein "Beta" stehen würde. =)
|
|
10.07.2010 17:42
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Fabian E.
myCSharp.de-Mitglied
Dabei seit: 24.07.2008
Beiträge: 258
Entwicklungsumgebung: VS 2008 Pro VS 2010 Ultimate
|
|
Ich hätte noch eine Idee:
Ich habe mir gerade ein kleines Programm geschrieben, welches die Unterschiede zweier Versionen heraussucht.
Also die Dateien miteinander vergleicht und dann ausgibt welche Dateien hinzugefügt, gelöscht oder modifiziert wurden.
Es wäre hilfreich, wenn der Updater-Ersteller eine Art API hätte, mit der man soetwas machen kann.
Also liest dein Programm eine Textdatei ein, in der nach gewissen Regeln die Dateien drin stehen.
Außerdem wäre es schön, wenn man beim hinzufügen von Dateien zum Update 1. mehrere hinzugefügte Dateien gleichzeitig löschen könnte und [ENTF] die Dateien auch löschen würde.
Eine weitere Idee: Die Möglichkeit zu jedem Projekt eine Verzeichnisstruktur anlegen zu können. Dann muss man nicht jedes Mal beim Update die ganze Ordner hinzufügen.
Im Anhang noch eine mögliche Ausgabe, die der Updater behandeln könnte.
Fabian E. hat dieses Bild angehängt:

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Fabian E. am 11.07.2010 14:21.
|
|
10.07.2010 22:59
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Maximilian
myCSharp.de-Mitglied
Dabei seit: 05.11.2007
Beiträge: 238
Entwicklungsumgebung: VS 2012 Ultimate Herkunft: im dicken B oben an der Spree
Themenstarter
|
|
Hey Fabian,
wetterbedingt nun meine etwas verspätete Antwort :-)
| Zitat: |
| Wenn ich eine Beta veröfefntliche, dann wäre es schön, wenn in dem Dialog "neues Update verfügbar" auch neben der Versionsnummer ein "Beta" stehen würde. =) |
Ja, das wäre sicherlich nicht schlecht, werd ich übernehmen.
| Zitat: |
Ich habe mir gerade ein kleines Programm geschrieben, welches die Unterschiede zweier Versionen heraussucht.
Also die Dateien miteinander vergleicht und dann ausgibt welche Dateien hinzugefügt, gelöscht oder modifiziert wurden.
Es wäre hilfreich, wenn der Updater-Ersteller eine Art API hätte, mit der man soetwas machen kann. |
Es gibt eine Kommandozeilenversion vom updateDesigner welche automatisiert Updates erstellen kann. Da gab es mit dem letzten Update ein paar Änderungen weshalb ich dafür erst die Infoseite überarbeiten muss. Könnteste dir aber schonmal anschauen: Kommandozeile. Die Änderungen beziehen sich nur auf den Changelogteil, diesen bitte vorerst ignorieren.
| Zitat: |
| Eine weitere Idee: Die Möglichkeit zu jedem Projekt eine Verzeichnisstruktur anlegen zu können. Dann muss man nicht jedes Mal beim Update die ganze Ordner hinzufügen. |
Das versteh ich nicht so ganz, könntest du das evtl. näher Erklären?
| Zitat: |
Ich habe noch einen Bug gefunden.
Wenn ich ein Update erstelle und danach bearbeite,
dann zeigt er mir nicht mehr an, welche Dateien wohin
kopiert werden sollen. (s. Screenshot) |
It's not a Bug, it's a Feature! Das wollte ich schon immer mal sagen^^ Jedenfalls gibt es nur einen gewollten Grund das Dateien ausgeblendet werden, nämlich dann wenn diese nicht mehr an dem ursprünglichen Pfad existieren. Ist dem so? Ansonsten ist es wirklich ein Bug.
Cheerio
|
|
12.07.2010 00:26
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Lion1984
Bit & Byte Junky
Dabei seit: 05.10.2006
Beiträge: 769
Entwicklungsumgebung: Visual Studio 2005/08 Herkunft: Österreich
|
|
Hallo Maximilian,
ein sehr schönes Tool, ich habe es mal in Kürze ausprobiert, und jedoch habe ich ein Problem mit dem Proxy :) Ich bin mir aber nicht sicher ob das schon mal erwähnt worden ist, falls ja, verzeihe mir dass ich es nochmalig erwähne.
Und zwar habe ich ein Update erstellt und eine kleine Anwendung, die eben das Update erhalten soll. Wenn ich nun das Programm starte kommt korrekt der Dialog, jedoch beim Download (vermute es ist der Download) schreibt er mir ein Fehler bzgl. des Proxies hin (Benutzer darf nicht, Kennwort fehlt oder ähnliches).
Ist es irgendwie möglich, die Einstellungen vom IE zu übernehmen? Denn es kann ja sein, dass ich die Proxy Zugangsdaten nicht habe, der Benutzer jedoch hinter einem Proxy sitzt und dies trotzdem darf. :)
Ich z.B. kann den download via IE ohne Probleme ausführen, das Problem besteht "nur" in deinem Programm. Proxy Einträge möchte ich, wie gesagt, vorher nicht festlegen müssen, da ich diese teilweise nicht kenne.
Gruß,
Lion
|
|
12.07.2010 07:30
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
Fabian E.
myCSharp.de-Mitglied
Dabei seit: 24.07.2008
Beiträge: 258
Entwicklungsumgebung: VS 2008 Pro VS 2010 Ultimate
|
|
Hm, dass die Dateien nicht mehr vorhanden sind kann sogar wirklich sein... Ich werds auf jeden fall testen!
Mein aktuelles Projekt hat eine etwas größere Ordnerstruktur. (ca 12 Ordner)
Diese Ordner sind natürlich auch verschachtelt. Wenn ich jetzt eine Datei in
den letzten Ordner kopieren will muss ich erst zig Verzeichnisse im Updater
erstellen. Beim nächsten Update das selbe Spiel.
Deswegen solltest du die Verzeichnisse speichern.
Jetzt verständlich? Wenn nicht poste ich noch einen Screenshot.
|
|
12.07.2010 11:13
|
E-Mail |
Beiträge des Benutzers |
zu Buddylist hinzufügen
|
|
|
|