nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

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

      Also kommt kein UAC-Dialog?

      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, hast Du die UAC deaktiviert?

      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 :!:
      Shame on me

      Mein Bitdefender hat das ganze einfach dank Advanced Threat Defense blockiert und mich nicht darüber benachrichtigt. Zum testen hatte ich die Anwendung einmal aufm Desktop und direkt unter C:
      Hab es dann mal unter Prorgamme eingefügt und da ging er dann weiter, bis er mir dann gesagt hat das mein Programm und eine Datei unter AppData\Local\Temp\nUpdate Installer angeblich ein Virus ist. Nachdem ich das ganze dann auf einen PC ohne Bitdefender getestet habe, hat alles einwandfrei funktioniert.

      Danke trotzdem für die Mühe :)
      @Trade Könnte man vielleicht sowas einbauen wie Git statt einem FTP server?

      Also man lädt seine Packages auf Git hoch anstatt seinen eigenen FTP server, ich denk gerad darüber nach, macht das Sinn?
      Zum einen ist GitHub ja kostenlos, man benutzt automatisch SSL was die Sache dann sicherer macht. Klar es wäre nochmal eine komplett andere Implementation notwendig, bei Git zu committen muss man sich ja authentifizieren und auch das Git Protokol nutzen, aber da gibt es ja vielleicht sogar schon Bibliotheken für.
      Hallo @Trade

      Ich habe bereits schon länger ein Auge auf diesen Thread geworfen bin nur bis dato nicht dazu gekommen den Startpost zu lesen.
      Erstmal, ohne es jetzt ausprobiert zu haben, nur anhand der Featureliste, tolle Arbeit. Sieht auch Top aus.

      Ich benötige bald (hat sicher noch ein Jahr Zeit) solch ein flexibles System, nun dachte ich mir, ach warum das Rad neu erfinden.
      Meine Aktuelle Applikation wird allerding eine WPF Anwendung sein, ich könnt zwar für die Updates theoretisch auch WinForms Fenster nehmen jedoch sollte sich ein UpdateUI natürlich natlos in eine Applikation einfügen.

      Meine frage an dieser Stelle: Ich nehme an das man das UI nicht so einfach ersetzen kann (damit meine ich nicht DU sondern ich nur anhand des einbindens deines NuGet Pakets).
      Wäre dies ein mögliches geplantes Feature?

      Was ich mir jetzt dachte: Der code und deine Features sind ja top, wenn du ein Package hast (NuGet) welches rein die Logic enthält ohne Verweise auf WinForm Komponenten könnte man deine Updatelösung ja genauso unter WPF oder wo auch immer Verwenden (wenn .Net Standard dann sogar in UWP und sogar Plattformunabhängig). Dann kann jeder sein eigenes ViewModel erzeugen und einfach alle Funktionen verwenden wobei das Design und das designerFramework unabhängig bleibt.
      Die jenigen welche das WinFromUI haben möchten laden das Package der UI mit. So könnte man ein Package für WinFormUI und ein Package für WPFUI usw. auch machen.

      Wäre das eine option für dein geniales Werk?
      Natürlich kann ich dich dabei, ein WPF UI Package zu erstellen auch gerne unterstützen.

      PS: Ich habe jetzt nicht den ganzen Thread gelesen, falls sowas geplant ist dann sorry für die Frage. Auch weis ich nicht wie weit du in Punkto Statistik bist und WIE genau du das reaisieren willst (da schwirren echt viele ideen bei mir im Kopf rum), auch hier kann ich gerne meine Unterstützung anbieten solange es unter Verwedung von ASP.Net MVC passieren soll.

      Wie gesagt, ich müsste es sowiese in nem Jahr machen, da kann ich dir genausogut ja helfen dachte ich mir. (PS: Gerne auch per PN wenn lieber)

      Viele nette Grüße aus Österreich
      Sascha

      EDIT: Habe den Spoiler total übersehen. Sehe garade das du eh Interfaces hast. Sehr cool, dann muss ich mir das mal ansehen und in eine Testanwendung packen. Sorry, voll übersehen. Gibts für die Stats auch die möglichkeit?
      If _work = worktype.hard Then Me.Drink(Coffee)
      Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()

      Hi,

      @seh Das habe ich mir auch schon mal überlegt, weil das durchaus komfortabel wäre. Das wäre allerdings ein v4-Feature. Aktuell bin ich durch das Studium leider voll ausgelastet, daher weiß ich nicht, wann ich die mal weiterentwickeln kann. :D

      Nofear23m schrieb:

      Wäre das eine option für dein geniales Werk?
      Das ist in der Tat schon so geplant und auch (teilweise) in der v4 umgesetzt. Die Abstraktion wurde da dahingehend auch verbessert, dass es "technologieübergreifender" ist. Im Moment kann man das ganze auch problemlos mit WPF benutzen, was, wie Du gesehen hast, aufgrund der Architektur möglich ist. Es gibt halt nur kein integriertes UI für WPF. Das kommt eben auch erst mit v4. Ja, die Abstraktion in der v3 ist dahingehend sehr naiv gelöst, das weiß ich. Das rührt daher, dass ich eben damals nur Windows Forms-Support hatte und am Anfang gar keine Abstraktion bzw. Architektur, die den flexiblen Einsatz zulässt. ^^

      Nofear23m schrieb:

      wie weit du in Punkto Statistik bist und WIE genau du das reaisieren willst
      Also die Statistik in der v3 ist eigentlich ein Beta-Feature, weil es sehr eingeschränkt funktioniert. Das betrifft auch zum Beispiel das Projektmanagement. Die Statistik soll in v4 auch dahingehend verbessert werden. Zwar weiterhin über PHP+MySQL laufen, aber auch ohne externen Zugriff und mit besserer Datenbankarchitektur, sodass die Synchronisierung auf allen Rechnern problemlos abläuft.

      Danke Dir auf jeden Fall für Dein Interesse und das Hilfeangebot. Sollte ich mal wieder etwas Luft haben, werde ich darauf zurückkommen, wenn notwendig. :)

      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, danke für deine Antwort
      Sorry das ich es zu spät gesehen hatte.

      Trade schrieb:

      die Abstraktion in der v3 ist dahingehend sehr naiv gelöst

      Ach warum denn, soweit könnte man ja jetzt bereits schon sein eigenes UI basteln wie ich gesehen habe (zu spät aber doch). Ich habs nur noch nicht probiert, werde ich aber definitiv.

      Trade schrieb:

      Es gibt halt nur kein integriertes UI für WPF.

      Gerne kann ich hier behilflich sein wenn nötig. Ich müsste es sowieso früher oder später machen ^^

      Trade schrieb:

      Die Statistik soll in v4 auch dahingehend verbessert werden

      Das freut mich, da ich ja noch Zeit habe freue ich mich jetzt schon auf die verbesserungen. Ich weis jetzt leider nicht wie die Statistik funzt und wie diese angesprochen wird oder implementiert wird (sorry, ich komme erst dazu mir das anzusehen) würde mir aber wünschen das man auch ein MS Server (IIS) sprich ASP unterstützt werden würde. Wenn die Datenhaltung flexibel sein soll würde ich EF nehmen, hier kann man sich dann aussuchen welche DB zum Einsatz kommen soll. (MySQL, MS SQL, AzureDB, Oracle usw.), ohne eine Zeile code ändern zu müssen.

      Ich denke ich werde mir dein ganzes Konzept mal ansehen und probieren. Ich bin eh schon ganz gespannt darauf. Ich finde das ein super Projekt und finde wenn es wirklich flexibel wird echt genial.
      Perfekt wäre nun wirklich noch wenn auch die Statistiken selbst gestalltet werden könnten. z.b. in der App auch die Methoden welche an die Stat senden als Interfaces, so kann man sagen: OK ich schick jetzt an ein Webservice von mir und kümmere mich selbst um alles (wenn ich das will).
      Hintergrund: Wenn man eine Website hat auf welcher man seine Programme anbietet (mittlerweile hat ja der zweite ne Website) kann ich die Stats und andere Dinge wie Lizenzierung usw. alles in die eigene Website nahtlos einfliessen lassen. Das wäre dann echt flexibel.

      Schöne Grüße und Danke
      Sascha
      If _work = worktype.hard Then Me.Drink(Coffee)
      Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.
      Keinen Stress. :D

      Ja, man kann eigene UIs basteln. Aber die Aufteilung der verschiedenen Aufgaben könnte man eben noch besser gestalten. Aber es ist zumindest funktionell :)

      Erwarte nicht zu viel von den Statistiken. Das ist Ranzcode pur und absolut unflexibel. ^^ Daher möchte ich das eben auch noch ausweiten und weitaus flexibler gestalten. Danke für den Vorschlag. ASP.NET wollte ich ursprünglich auch unterstützen, nur ist damals irgendwie dann im Sande verlaufen.

      Danke auf jeden Fall für das Lob. Wenn nun alles flexibel gestaltet wird und Fehler noch alle verschwinden, dann wäre es echt optimal.

      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

      Sehr cool das du offen bist für vorschläge. Na wenn du die Stats sowieso überdenken willst...... wie wäre es mit einer Abstraktion auch für die?
      Dann kann man 1x PHP und 1x ASP mitliefern, so ist jeder bedient. Hammer!!!
      Ich wollte meine REST API Kenntnisse sowieso vertiefen 8o .

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

      Leider gar nicht so einfach es zu kompilieren. Muss mich noch etwas spielen.


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

      Hi, ich habe gestern meinen Provider gewechselt und jetzt kann ich mich mit der Administration nicht mehr mit dem FTP server verbinden.
      Ich nutze nach wie vor passiv, die Daten stimmen, habe sie 100% genau auch mit WinSCP ausprobiert. Passives FTP, keine Verschlüsselung, habs mit IPv6 und IPv4 probiert, beides erfolglos.
      Wenn ich auf Search on server drücke, dann kommt die Meldung: Die Länge darf nicht kleiner als 0(null) sein. Parametername: length. Danach ist die textbox auch komplett leer. Dann hab ich versucht schonmal in die textbox nur das homedirectory anzugeben mit nem simplen /

      Selbes Ergebnis. Irgendwelche Ideen?
      Hi,

      das ist sehr komisch. Lässt sich nur schwer so sagen, was es sein könnte. :/
      Also die Daten sind genau dieselben? Fraglich ist auch, inwiefern der Provider da was ändert.

      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 :!:
      Wenn Du Dir das antun willst, könntest Du das machen. :P Das ist halt immer so eine Sache, weil ich selber keine Verfügung über die Starksoft.Aspen-Bibliothek habe, in der vermutlich das Problem auftritt.
      Ansonsten müsste ich da mal schauen. Eventuell gab es zwischenzeitlich ja wieder ein Update für diese, wo etwas derartiges behoben wurde. Soll natürlich nicht ausschließen, dass es an nUpdate liegt. Ist aber eher unwahrscheinlich.

      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 :!:
      Vollzitat entfernt. ~Trade

      Achso, wusste garnicht, dass nUpdate von einer FTP Bibliothek abhängig ist. Nja gut, ich probier mal mein Glück, anders gehts ja nicht weil du den Fehler ja so auch nicht reproduzieren kannst.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Trade“ ()

      Hey,
      kann man mit nUpdate eigentlich auch eine externe eigene Anwendung updaten? Meine Anwendung ist in C++ geschrieben, und stelle mir das so vor das ich dann eine "Updater"-Anwendung habe die die Updates für meine eigentliche Anwendung runterlädt. Diese ist natürlich dann in irgendeiner .NET-Sprache geschrieben. Wäre nett, vielleicht hat ja das auch schon jemand selbst ausprobiert oder benutzt.

      LG
      Software being "Done" is like lawn being "Mowed". (Jim Benson)
      Ja, das sollte funktionieren. Ist zwar nicht primär dafür ausgelegt, habe ich aber mal angepasst, weil das schon mal jemand gebraucht hat für nen Launcher.
      Ansonsten kannst natürlich nUpdate auch in C++ implementieren. :P Musst ja nur mit der „Schnittstelle“ auf dem Server interagieren und die Schritte nachbauen. :D

      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 :!:
      Hi Trade,

      ich benutze auch liebend gerne dein Update-System und es ist im groben und ganzen super komfortabel und nutzerfreundlich. In letzter Zeit tritt aber bei einigen Updates teilweise der folgende Fehler auf (siehe Screenshot). Diese Meldung tritt auf, nachdem das Update gestartet wurde, die zu updatende Form geschlossen wurde, und der UAC-Dialog bejaht wurde.

      Wenn ich danach das Update erneut versuche, tritt der Fehler auf, dass bereits eine einsprechende Datei in %appdata%\Local\Temp\nUpdate vorhanden ist. Lösche ich diesen Ordner und versuche das Update erneut, läuft das ganze fehlerfrei. Teilweise funktioniert auch alles beim ersten Durchlauf. Ich konnte leider noch keine Regelmäßigkeit feststellen die dir irgendwie weiterhelfen könnte, aber evtl. hilft dir zumindest dieser Screenshot ?(

      Mitch
      Bilder
      • nUpdate-Error.png

        43,82 kB, 419×388, 23 mal angesehen