Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
updateSystem.NET
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

updateSystem.NET

beantworten | zitieren | melden

[b]Aktuelle Version:[/b] 1.5.1
[b]Produktseite:[/b] [url]updateSystem.NET[/url]
[b]Quellcode:[/b] [url]@github[/url]
[url]Download[/url]

[url]BugTracker[/url]
Gastaccount für den Bugtracker:
Benutzername: Gast
Passwort: gast123

[b]Unterstützte Betriebssysteme:[/b] Windows XP bis Windows 7
[b]Benötigte .Net Frameworkversion:[/b] 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
Dieser Beitrag wurde 20 mal editiert, zum letzten Mal von Maximilian am .
Attachments
private Nachricht | Beiträge des Benutzers
Zony
myCSharp.de - Member

Avatar #avatar-2875.gif


Dabei seit:
Beiträge: 81
Herkunft: NZ

beantworten | zitieren | melden

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.


private void button1_Click(object sender, EventArgs e)
{
updateSystemDotNet.updateController updateController1 = new updateController("http://update.pierre-doll.de/test/";

//Einfacher aufruf mit angabe einer ParentForm
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
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Grüß dich,
erstmal vielen Dank fürs testen :)
Habe grade den Fehler reproduzieren können. Ich hatte neulich einen ähnlichen beim testen unter XP und habe gedacht den nun entgültig erwischt zu haben. Aber da hab ich vermutlich irgend eine Pfadvariable übersehen.
Ich melde mich dann wieder wenn ich den Fehler behoben habe.

Danke nochmal, beste Grüße,
Maximilian
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

So, Fehler gefunden und behoben :) Das Update steht über die Updatefunktion vom Updatedesigner bereit.

Cheerio
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

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
Attachments
private Nachricht | Beiträge des Benutzers
Zony
myCSharp.de - Member

Avatar #avatar-2875.gif


Dabei seit:
Beiträge: 81
Herkunft: NZ

beantworten | zitieren | melden

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ß
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Zony am .
Attachments
private Nachricht | Beiträge des Benutzers
ViperNeo
myCSharp.de - Member



Dabei seit:
Beiträge: 370
Herkunft: Darmstadt

beantworten | zitieren | melden

Super Sache sag ich da nur. Habs mal getestet und finde es super leicht zu bedienen, scheint ordentlich zu laufen und die Admin GUI ist auch klasse. Das einzige was ich gerne noch hätte wären änderbare Titel in den GUI Dialogen deiner Komponente.

Dickes Lob!

Grüße
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Moin ViperNeo,
Erstmal Danke :) Momentan wird bei allen Dialogen, außer dem Suchdialog, der Titel der Anwendung angezeigt, welchen du im Updatedesigner als 'Projektname' frei definieren kannst. Ansonsten könnte man noch über eine zusätzlichen Eigenschaft im updateController nachdenken die diese Überschreibt. Mal sehen :)

Cheerio
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Moinsens,
es gibt nun die Finale Version 1.0 (Build 400). Den Download davon findet ihr im Post #1. Enthalten ist nun auch der auf PHP und MySql basierende Statistikdienst.

Die (neue) Website ist noch etwas spärrlich mit Content befüllt, da werde ich im laufe der Woche ein paar Schnellstart Tutorials posten die den Umgang erklären. Wer bis dahin Fragen zur Verwendung hat, einfach hier Fragen :)

Cheerio
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Nun, das Projekt ist Closed Source und wird es auch bleiben.
Supporttechnisch kann ich, da ich das ganze in meiner Freizeit mache, nicht immer für eine schnelle Behebung von Fehlern garantieren (Job geht vor), aber ich setze das Programm ja selber in meinem Projekten ein, weshalb ich natürlich daran Interessiert bin auftretende Fehler so schnell wie möglich zu beheben.
private Nachricht | Beiträge des Benutzers
Jelly
myCSharp.de - Member



Dabei seit:
Beiträge: 1127
Herkunft: Burden (Luxemburg)

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Moin Jelly,
ich glaube du hast das etwas Mißverstanden bzw. ich habe mich mißverständlich ausgedrückt.
Der updateInstaller fordert per Default Adminrechte beim Start. Ansonsten ist wie du schon erwähnt hast kein Schreiben im Programmverzeichnis bzw. außerhalb von HKCU in der Registry möglich.
Was ich meinte ist, dass es möglich ist vom updateInstaller aus (welcher den Admintoken enthält) Prozesse zu starten, welche dieses Token nicht erben. So wird z.B. das eigentliche Programm nach Beendigung des Updates eben nicht mit Administratorrechten gestartet wie es bei den meisten Updatern/Installern der Fall ist. Hoffe das ist nun etwas klarer :-)

Cheerio
private Nachricht | Beiträge des Benutzers
Jelly
myCSharp.de - Member



Dabei seit:
Beiträge: 1127
Herkunft: Burden (Luxemburg)

beantworten | zitieren | melden

Ach so. Dann hatte ich dich falsch verstanden.

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.
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

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 .
private Nachricht | Beiträge des Benutzers
Jelly
myCSharp.de - Member



Dabei seit:
Beiträge: 1127
Herkunft: Burden (Luxemburg)

beantworten | zitieren | melden

Zitat von Maximilian
Ich wüsste aber auch nicht wie man das sonst machen sollte außer über einen Service.
Das sehe ich auch als einziger Lösungsansatz. Ich bin selbst daran, ein solches Updatesystem zu überlegen, und die Lösung eines Service, der sich um die Updates kümmerst, bringt dann wiederum andere Problematiken mit sich. Also so oder so: trivial ist das Problem sicherlich nicht :-)
private Nachricht | Beiträge des Benutzers
wizer
myCSharp.de - Member



Dabei seit:
Beiträge: 203

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Patros46
myCSharp.de - Member



Dabei seit:
Beiträge: 11

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hey Patros46,
der updateController unterstützt nicht das .NET Framework 4.0 Client Profile. Einfach in den Projekteinstellungen auf das volle 4.0 Framework umstellen. Dann klappts auch :-)

Cheerio
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

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 .
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

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 .
private Nachricht | Beiträge des Benutzers
tomtom62
myCSharp.de - Member



Dabei seit:
Beiträge: 223

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 386

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Stimmt, dass ist wirklich nicht ersichtlich. Ich glaube ich werde das wie bei den Setups machen, dass man eine Checkbox hat in der ausgewählt werden kann ob die Anwendung nach dem Schließen gestartet werden soll. Danke für den Hinweis :-)

Cheerio
private Nachricht | Beiträge des Benutzers
Jelly
myCSharp.de - Member



Dabei seit:
Beiträge: 1127
Herkunft: Burden (Luxemburg)

beantworten | zitieren | melden

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
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.
private Nachricht | Beiträge des Benutzers
Maximilian
myCSharp.de - Member

Avatar #avatar-3305.jpg


Dabei seit:
Beiträge: 241
Herkunft: im dicken B oben an der Spree

Themenstarter:

beantworten | zitieren | melden

Hey Jelly,
erstmal Danke für das Lob :-)

Es gibt im updateController direkt die Möglichkeit festzulegen, ob die Anwendung automatisch nach dem Update gestartet werden soll (restartApplication). Zusätzlich dazu kannst du mit der Eigenschaft autoCopyCommandlineArguments festlegen, ob dabei die übergebenen Parameter übernommen werden sollen. Ich denke, dass ist das was du suchst :-)

Cheerio
private Nachricht | Beiträge des Benutzers