nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

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

      Da hast du natürlich recht.
      Ist halt ähnliches Thema wie mit den Browsern... Manche gurken immer noch mit dem IE rum. Aber ab nem gewissen Punkt muss man dann halt auch sagen "Pech gehabt". Sonst können wir gleich noch .NET Framework 2 nutzen. :D

      Aber ich muss nicht reden. Die Codebasis ist zum Teil ne absolute Katastrophe. Keine Testabdeckung, uralte UI-Technik usw.

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

      Trade schrieb:

      Die Frage ist, wie viele Passagen getrennt behandelt werden müssen.

      Nicht viele, wie du schon sagst, es ist eh fast alles gleich. Auch UI da die gleichen Assemblys hereingeholt werden. ABER...

      Trade schrieb:

      Meint Ihr ein Zwang auf mind. .NET 5 macht zum jetzigen Zeitpunkt schon Sinn?

      Ich würde schon sagen, die Migration von .Net FX zu 5/6 ist soooo einfach, das bekommt jeder hin. Also ich fange kein Projekt mehr unter .Net FX an.

      Grüße
      Sascha
      If _work = worktype.hard Then Me.Drink(Coffee)
      Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

      ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

      Achso. Die sind kompatibel, @Montoyafan.

      Viele 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 :!:
      Hallo,

      ich Versuche zu verstehen wie die "Conditions" funktionieren. Kann mir da jemand auf die Sprünge helfen?
      Aus den Angaben von NoFear23m habe ich so viel verstanden, dass ich im Package beispielsweise angebe:
      Key: Betatester
      Value: True
      Aber wie prüfe ich das im Code ab, das habe ich noch nicht durchblickt.

      Vielen Dank für jeden Hinweis,
      Hi, du kannst im UpdateManager in der Conditions-Property die Key-Value-Paare angeben, die dann für das Filtern der Pakete im Client genutzt werden. Je nach Flag (negativ/nicht-negativ) werden die Pakete dann herausgefiltert.
      Ein negative Bedingung im Paket, die auf ein zugehöriges KeyValue-Pair in der Conditions-Property trifft, sorgt dafür, dass das Paket exkludiert wird. Bei nicht-negativen muss dann mindestens eine Bedingung oder alle erfüllt sein, damit das Paket inkludiert wird. Je nach gewähltem Modus.

      Siehe github.com/dbforge/nUpdate/blo…ating/UpdateResult.cs#L74 und github.com/dbforge/nUpdate/blo…e/RolloutConditionMode.cs.

      Viele 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 :!:

      Entwicklung wird eingestellt

      Hallo zusammen,

      viele von euch haben es sicher schon gedacht bzw. erwartet, da das Projekt schon länger tot ist und es wird jetzt auch keine große Überraschung sein, dass ich das nochmal offiziell verkünde.

      Lange hatte ich große Pläne für Version 5, aber dann aufgrund persönlicher Umstände keine große Motivation mehr dafür gehabt, um die Entwicklung wieder aufzunehmen. Die Forenaktivität wurde auch irgendwann weniger - die damalige VBP-Generation macht heute eben auch andere Sachen und meine Zeit mit .NET hatte auch nachgelassen bzw. aufgehört. :) Ich werde die Entwicklung von nUpdate hiermit offiziell einstellen. Das Repository verbleibt im aktuellen Zustand und wird nicht mehr aktualisiert (außer bei kritischen Sicherheitslücken o.ä.). Der Code hat einfach zu hohe technische Schuld und mangelhafte Testabdeckung und die Architektur einiger Features ist auch nicht ganz ideal gelöst. Das Projekt stammt halt einfach aus meiner Anfangszeit mit wenig(er) Erfahrung, keinem Geld als Teenager und war damals mein Steckenpferd, aber über die Zeit hat sich natürlich viel getan und auch die Technologien entwickeln sich immer weiter. Die Softwarelösung war etwas Tolles zu ihrer Zeit damals, aber das ist halt eher so 2014 und für diejenigen unter euch, die halt privat eine einfache und sichere Lösung haben wollten.

      Nun möchte ich allerdings auch betonen: Damit ist die Grundidee des Projektes nicht tot. Dadurch, dass ich mich persönlich auch im Laufe der Jahre natürlich weiterentwickelt habe und nun auch einen größeren Tech-Stack beherrsche, sitze ich inzwischen an einem Großprojekt, das nUpdate sozusagen inkludieren wird und auch für euch dann zur Verfügung stehen wird. Es wird also neuer Wind in die Sache kommen. Etwas verändert und angepasst, aber vom Grundgedanken immer noch gleich. Meine monetären Möglichkeiten sind heute auch eben ganz andere. Nur eben mit ordentlicher Testabdeckung und weitaus besserer Implementierung. Der Code von nUpdate wird darin in verbesserter Form weiterleben. Wann das fertig sein wird, steht in den Sternen und ist auch noch nicht absehbar, aber ich werde es euch natürlich vorstellen. Lediglich eine Migration von nUpdate in das neue Projekt wird nicht stattfinden. Ich denke aber, dass nUpdate auch nur in wenigen Projekten wirklich vorkommen wird, in denen dies ein relevanter Einschnitt wäre.

      Ihr könnt nUpdate natürlich weiter verwenden und ich werde auch gerne weiter unterstützen. Nur die aktive Weiterentwicklung lege ich zugunsten meines aktuellen Projektes auf Eis. :)

      Viele 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 :!: