nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

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

      Das Update zögert sich noch etwas hinaus, weil ich noch bei einer Sache mit dem EAP zu kämpfen habe. Ist halt doch schon veraltet und nicht so komfortabel wie async await. Ansonsten ist es aber so gut wie fertig. ;)
      Ich bin auf jeden Fall dran.

      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 :!:
      @dj alex z @Böker Es sieht gut aus. Das Update sollte nun wirklich heute abend kommen. Ist jetzt fertig, muss nur noch durchgehend testen. :)
      #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 :!:
      @dj alex z Siehe Konversation.
      #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 :!:
      Gut, dann kannst Du gleich die Version nehmen oder warten, bis das offizielle Update heute kommt. ;)
      Muss es praktisch nur noch veröffentlichen.

      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 :!:
      Wie meinst Du "nach einer bestimmten Zeit"? Also wie genau stellst Du Dir das vor? ^^
      Du kannst die Updateroutine ja überall platzieren und dann aufrufen.

      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 :!:
      Ich meine wenn das Hauptprogramm gestartet wird, dann startet er die Updatesuche.
      Wenn ein Update verfügbar ist kommt ja die GUI zum Vorschein wo der User noch auf installieren klicken muss.
      Kann man diesen Klick auf Installieren automatisieren?

      Update verfügbar wird in 10 Sekunden automatisch installiert oder so.
      Ist mit dem vorhandenen User Interface leider nicht implementiert. Könnte ich aber mal hinzufügen. Im Moment müsste man das halt selber bauen.

      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 :!:
      Ich werde das auf jeden Fall mal auf ToDo setzen. :)
      Meinst Du wirklich das UI für den Installer oder das für die Bibliothek? Für die Bibliothek brauchst Du keine weiteren DLLs. Da kannst Du das einfach mit dem ​UpdateManager machen. Schaue Dir die Klasse mal an und was für Methoden, Eigenschaften etc. sie bereitstellt. Ansonsten guck Dir mal ​UpdaterUI an. Da ist das ja schon so umgesetzt. Das kannst Du dann einfach so übernehmen und das UI halt selber gestalten. :)

      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 :!:
      Update auf Version 3.2.0

      • Splitted the two build configurations for TAP and EAP into separate projects to fix dependency errors
      • Changed and improved the internal architecture of nUpdate
      • Made the Exception property in FailedEventArgs readonly
      • Fixed and improved the implementation of the async patterns
      • Fixed that a package could not be deleted when its signature was invalid
      • Improved the message informing the user about an invalid signature
      • Added renamed methods for task cancellation
      • Renamed nUpdate to nUpdate.Internal
      • Removed resource redundancies
      • Fixed a bug causing an unhandled exception when adding a file without an extension to an update package
      • Improved the ProjectEditDialog with more user interaction

      So, endlich. ^^ Jetzt sollte alles klappen. Habe alles komplett geändert, aber trotzdem bleibt die Abwärtskompatibilität erhalten. :)
      Wenn beim Installieren von nUpdate.ProvideTAP noch eine Warnung kommt und das Projekt sich nicht kompilieren lässt: github.com/ProgTrade/nUpdate#t…talling-nupdateprovidetap. Dann sollte alles gehen.
      Download wie immer im Startpost und auf den dort angegebenen Plattformen. Bitte meldet weitere Fehler oder Probleme.

      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 :!:
      Erstmal ein großes Lob !

      Es funktioniert wundervoll :)


      Ich hätte aber dazu eine Frage, die Klassen dazu wie OnUpdate_... Wie werden die Aufgerufen? Mir sagt es immer das keine Definition dafür da wäre.

      Habe ich ein Imports vergessen oder was wird dafür noch Benötigt?
      Hi,

      was für Klassen? Meinst Du die internen Methoden zum Feuern der Events? Wozu brauchst Du die denn? Die sind eh nicht von extern aufrufbar. Oder willst Du die überschreiben?
      Beachte, dass die nur in WithoutTAP vorhanden sind.
      ProvideTAP ist nicht eventbasiert.

      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 :!:
      Danke für die Info das mit und ohne TAP . Hatte mit TAP genuzt.

      Ich würde gerne den Updater so nutzen das die Form sich garnicht erst öffnet bei neuem Update. So das der User gezwungen ist.

      Welche Methoden gibt es da bei dem UpdateManager ?


      Mfg
      #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 :!:

      Piew-Keks schrieb:

      Danke für die Info das mit und ohne TAP . Hatte mit TAP genuzt.

      Ich würde gerne den Updater so nutzen das die Form sich garnicht erst öffnet bei neuem Update. So das der User gezwungen ist.

      Welche Methoden gibt es da bei dem UpdateManager ?


      Mfg



      In C# gibt es eine Program.cs, (ich weiß leider nicht wie es bei VB.NET ist) in der Program.cs ist der Einstiegspunkt und dort wird per Application.Run(new Form1());
      Die Form erstellt und geöffnet.

      Du könntest den UpdateManager davor initialisieren und dann die Form nur öffnen wenn kein Update vorhanden ist.
      Ja, genau. So hätte ich es auch gemacht. Nur muss man in VB.NET mit der Program.vb etwas rumtüfteln, damit man da seinen eigenen Einstiegspunkt bauen kann. Das kann man in den Projekteinstellungen festlegen.

      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 :!:
      VB.net den Updater als Erste Anwendung Starten meint Ihr?

      Ich habe mir mal die Links angeschaut nur mit c++/c# werde ich nicht ganz Schlau daraus.

      Habe nun das WithoutTAP genuzt und gesezt aber leider bekomme ich keine Verweise auf die Klassen für den Check ob Updates vorhanden sind oder nicht.

      Wäre einfacher wenn der Check gleich als Ausgabe mit dabei wäre um es evtl. gleich in ein Event zu Packen.