nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

    Es gibt 990 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

      Also, ich wollt jetzt einfach auch mal hier meine ersten Eindrücke loswerden ;) Wir hatten ja bereits geschrieben und ich hatte erwähnt das ich plane nUpdate demnächst in Free Shotlist einzubauen. Da ich vorher nie ein "fertiges" Updatesystem genutzt habe, sondern immer selbstgeschriebene verwendet hab, war ich zunächst sehr froh über die vieeelen Einstellungsmögichkeiten, die ich befürchtet hatte zu verlieren. Respekt dafür !
      Habe das Ganze erstmal in einem Testprojekt genutzt und bin durchaus zufrieden. Denke wenn ich mich noch ein bisschen einarbeite wird es bald auch in Free Shotlist zu finden sein. Da ich hier jetzt aber nicht nur Lobeshymnen schwingen möchte, sondern auch ein bisschen konstruktive Kritik loswerden will:
      • Mich stört es, dass (fast ?) alle im Hintergrund arbeitenden Dialoge nicht schließbar sind. Ich hatte beispielsweise einen Tippfehler beim Server gemacht und der "Server durchsuchen" Dialog hat ewig geladen ohne das etwas passiert ist. Musste das nUpdate dann notgedrungener Weise über den TaskManager killen
      • (Kleinigkeit) Der TabIndex ist teilweise etwas durcheinander. Im "FTP-Data" Dialog lande ich nach dem FTP-Usernamen z.B. nicht beim Passwort, sondern auf einem ganz anderen Control
      • (Kleinigkeit) Der kleine Ladekreis sieht nicht besonders gut aus, wahrscheinlich ist dieser einfach von VS komprimiet worden und sieht deswegen etwas unschön aus
      Wiegesagt, dies sind alles nur Kleinigkeiten und in einer Beta durchaus zu verkraften. Auch wenn ich mich etwas reinarbeiten musste (was wohl auch mehr an mir liegt, da ich ewig nicht mehr mit externen Tools gearbeitet habe... Eines Tages wäre eine Doku dann schön :P ) bin ich sehr begeistert von nUpdate und seinen vielen Funktionen. Vielen Dank für's Veröffentlichen und ich werde dich dann bestimmt nochmal für FreeShotlist anschreiben ;)

      EDIT: Die Anmerkungen beziehen sich natürlich alle auch die nUpdate-Administration
      Danke sehr. ;)

      Limosoft schrieb:

      Mich stört es, dass (fast ?) alle im Hintergrund arbeitenden Dialoge nicht schließbar sind

      Naja, wenn das schließbar ist und die Aktion noch weiterläuft, dann könnte es passieren, dass beim Invoken eine Exception geschmissen wird oder halt einfach etwas nicht mehr 100%ig funktioniert. Stattdessen wäre Cancellation wohl besser.
      Ich werde das an den besagten Stellen einbauen.

      Limosoft schrieb:

      und der "Server durchsuchen" Dialog hat ewig geladen ohne das etwas passiert ist. Musste das nUpdate dann notgedrungener Weise über den TaskManager killen

      Äußerst merkwürdig. Das Problem hatte AliveDevil auch mal, aber ich habe es nie reproduzieren können. Bei mir kam sofort eine Fehlermeldung und es wurde abgebrochen. Eventuell wirklich Threadingprobleme, aber ich weiß nicht so recht...

      Limosoft schrieb:

      Der TabIndex ist teilweise etwas durcheinander

      Jo, hatte ich bisher nie behoben, kommt aber noch. :)

      Limosoft schrieb:

      Der kleine Ladekreis sieht nicht besonders gut aus

      Wird dann vermutlich mit einem anderen in der Release-Version substituiert werden.

      Limosoft schrieb:

      Eines Tages wäre eine Doku dann schön

      Ein kleiner Teil der Doku existiert ja bereits und Du findest hier ein nUpdate-Tutorial im Forum von @VincentTB. Nur für alle Fälle. ;) Auf Codeplex und GitHub wird das Ganze noch ausgeweitet.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Hätte eine Frage zur Statistics-Server Option.

      Wie funzt das? Was für ein Server benötige ich dafür?

      Generell eine gute Installations/Einrichtungsanleitung wäre toll...

      mfg

      gfc
      Du brauchst einen Webspace, der PHP und MySQL unterstützt, also eine Datenbank bereitstellt. Die PHP-Datei, die das regelt, also die Einträge macht, wird mit den Updatedateien auf Deinen Server hochgeladen und dann deren URL beim Download mit den Daten als Parameter aufgerufen.
      Die MySQL kann auch woanders gehostet sein. Wichtiger ist (im Moment), dass Du externen Zugriff darauf hast. Somit kannst Du das auch woanders aufsetzen, normalerweise jedoch auf dem gleichen Server.

      Ein Tutorial findest Du von VincentTB hier oder auf Codeplex in der Doku, die noch ausgeweitet wird.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Hmm, die möglichkeit SFTP anstatt FTP und FTPS zu verwenden wäre auch noch hübsch.

      Dann noch was, was mich stört. Ich wechsle gerne die Eingabefelder mit TAB, aber in dem Fenster, wo ich meine FTP-Daten eingeben soll, macht die TAB-Reihenfolge keinen Sinn. Von "FTP-Host" zu "User", "Port", "Directory" und irgendwann kommt mal "Password". Würde dort Vorschlagen das es von "FTP-Host" zu "Port", "User", "Password".... springt.

      Auf dem selben Fenster bei "Search on Server" öffnet sich das "Set directory" Fenster. Welches bei mir unendlich-lange ladet. Die Daten stimmen, kann mich per Firefox, Windows-Explorer sowie auch dem cmd-Befehl 'ftp' auf meinem Server verbinden.

      mfg
      Du kannst SFTP nutzen, indem Du eigene Transferhandler benutzt.
      Die TabIndices wurden oben angesprochen und werden mit der nächsten Version richtig angepasst.

      Das Laden dauert lange, das kann ich aber aktuell nicht wirklich ändern. Viel wichtiger ist, dass es am Ende überhaupt etwas anzeigt. War das der Fall?

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Hast Du mir mal einen Link zur "updates.json"-Datei auf Deinem Server? Kam schon öfters mal vor, dass dort aus Versehen falsche Zeichen serialisiert wurden.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Wieso jeden Ordner laden wenn du einfach auch nur den Root-Ordner laden könntest? Wenn der User dann ins Verzeichnis /home will, wird der dann geladen. Aber alle auf einmal zu laden ist etwas doof, vorallem weils bei mir ne halbe ewigkeit gedauert hat.

      noch was. Er kann die PHP-Datei nicht hochladen.
      Das hatte ich mal so. Dann gab es wiederrum Feedback, dass er alles auf einmal machen soll. Also habe ich das geändert.
      Ich brauche den StackTrace der Meldung. Rechtsklick auf den Text und dann "Copy entire message".

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      nUpdate.Administration.Core.Ftp.Exceptions.FtpException: Failed to change directory.
      bei nUpdate.Administration.Core.Ftp.FtpBase.WaitForHappyCodes(Int32 timeout, FtpResponseCode[] happyResponseCodes) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpBase.cs:Zeile 1740.
      bei nUpdate.Administration.Core.Ftp.FtpBase.WaitForHappyCodes(FtpResponseCode[] happyResponseCodes) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpBase.cs:Zeile 1716.
      bei nUpdate.Administration.Core.Ftp.FtpBase.SendRequest(FtpRequest request) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpBase.cs:Zeile 1306.
      bei nUpdate.Administration.Core.Ftp.FtpClient.ChangeDirectoryMultiPath(String path) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpClient.cs:Zeile 521.
      bei nUpdate.Administration.Core.Ftp.Service.TransferService.UploadFile(String filePath) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\Service\TransferService.cs:Zeile 339.
      bei nUpdate.Administration.Core.FtpManager.UploadFile(String filePath) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\FtpManager.cs:Zeile 244.
      bei nUpdate.Administration.UI.Dialogs.NewProjectDialog.<InitializeProject>b__24() in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\UI\Dialogs\NewProjectDialog.cs:Zeile 629.

      gfc

      Ein Fehlerreportsystem vielleicht noch hinzufügen wie z.B. Exceptionless
      Das liegt dann an Deinem Server. Benutzt Du eigene Handler?
      Auf jeden Fall kann ich daran nichts ändern. Die FTP-Befehle funktionierten bisher überall und auch sollte das so gehen, wie aktuell implementiert.

      Exceptionless ist schon enthalten...

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Inwiefern was auf meinem Server liegt? Benutzte vsftpd (UbuntuServer). Der FTP-Account hat schreibrechte auf dem Ordner den ich zugewiesen habe. Also von meiner Seite sehe ich auch nicht wirklich einen Fehler...

      gfc
      Habe ich noch nicht getestet, ob das klappt. Theoretisch müsste es aber.
      Geht denn sonst irgendwas ohne Statistiken vielleicht?

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      yup, ohne statistic server klappts. Eine Ahnung was genau der Fehler ist? (bzw. woran er liegt?)
      Nicht wirklich. Öffne mal das Projekt. Er wird versuchen, die Konfiguration hochzuladen.
      Eventuell findet man ja da den selben Fehler.

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Wieder "Failed to change directory"
      Spoiler anzeigen
      nUpdate.Administration.Core.Ftp.Exceptions.FtpException: Failed to change directory.
      bei nUpdate.Administration.Core.Ftp.FtpBase.WaitForHappyCodes(Int32 timeout, FtpResponseCode[] happyResponseCodes) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpBase.cs:Zeile 1740.
      bei nUpdate.Administration.Core.Ftp.FtpBase.WaitForHappyCodes(FtpResponseCode[] happyResponseCodes) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpBase.cs:Zeile 1716.
      bei nUpdate.Administration.Core.Ftp.FtpBase.SendRequest(FtpRequest request) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpBase.cs:Zeile 1306.
      bei nUpdate.Administration.Core.Ftp.FtpClient.ChangeDirectoryMultiPath(String path) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\FtpClient.cs:Zeile 521.
      bei nUpdate.Administration.Core.Ftp.Service.TransferService.IsExisting(String destinationName) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\Ftp\Service\TransferService.cs:Zeile 205.
      bei nUpdate.Administration.Core.FtpManager.IsExisting(String destinationName) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\Core\FtpManager.cs:Zeile 224.
      bei nUpdate.Administration.UI.Dialogs.ProjectDialog.CheckUpdateConfigurationStatus(Uri configFileUri) in c:\Users\Trade\OneDrive\Dokumente\GitHub\nUpdate\nUpdate.Administration\UI\Dialogs\ProjectDialog.cs:Zeile 1539.


      hmm...
      Hm ok. Sicher, dass alles komplett richtig konfiguriert ist?
      Wenn ja, bin ich mit meinem Latein auch am Ende. :/

      Grüße
      #define for for(int z=0;z<2;++z)for // Have fun!
      Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

      Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
      Das Servervezeichnis konnte ich ja laden (auch wenns etwas dauerte)
      Glaube das du nicht ordentlich durch die Verzeichnisse navigierst.

      Wie kann ich dein Programm auf ftp.exe von MS umstellen?