nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

    Es gibt 989 Antworten in diesem Thema. Der letzte Beitrag () ist von Archangel.

      Aber ich kann nicht per Update die DLL ersetzen?

      Trade schrieb:

      Insofern das Paket noch da ist (not released) sollte alles passen, das ist so geplant.

      Naja, beim uploaden ist ein Fehler aufgetreten und nun ist das Paket einfach weg.
      Bin mir aber sicher, dass bei mir das Paket schonmal gespeichert wurde (so dass ich das Paket später hochladen konnte) als ein Fehler auftrat (allerdings nicht beim uploaden)
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Nein, das ist ja keine Forms-Anwendung, sondern eine Klassenbibliothek, da wäre so eine Implementierung sehr komisch. :P
      Einfach weg sollte es nicht sein, das ist dann normal in der Gruppe "Not released" sichtbar.

      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 :!:
      Ok dann muss ich das irgendwie anders hinkriegen ^^

      Trade schrieb:

      Einfach weg sollte es nicht sein, das ist dann normal in der Gruppe "Not released" sichtbar.

      Nö, bei mir ist es einfach weg. Der Fehler war ein Timeout beim uploaden, falls das irgendwas damit zu tun hat.
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Heute ist wohl kein guter Tag. :/
      Der Fehler ist nicht wichtig, das müsste so gehen, evtl. lag es an einem Problem, dass ich auch entdeckt hatte, sorry. Wird höchste Zeit für ein Update, um alle Probleme zu beheben.

      Dann werde ich das releasen und es bleibt zunächst beim Eventsystem, async und await muss dann warten.

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

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

      Liegt die Konfiguration auf dem Server, wenn die Meldung kommt? Stimmen Directory und URL überein?

      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 kann dann nicht gehen. /Main/*Name* ist ja ein anderes Directory als über die URL "anvisiert" wird. Müsste dann vmtl. http://*Mein Server*.de/Main/*Name*/ sein, außer die Domain verweist bereits auf ​Main.

      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 1.0.0 Beta 1

      Changelog:
      • TAP (Task-based asynchronous pattern) mit async-await wurde implementiert, das EAP (Eventbased asynchronous pattern) bleibt aber nat. trotzdem noch
      • Es können nun Updates als "Necessary update" markiert werden und diese werden dann immer geladen
      • Mehrere Updates auf einmal herunterlad- und installierbar
      • UpdateVersion ist nun flexibler und nimmt viel mehr Formate an (siehe Startpost für Infos dazu)
      • DevelopmentBuilds sind nun keine Pflichtangabe mehr
      • Dokumentation verbessert
      • Eigene EventArgs verbessert und angepasst
      • Updateargumente können nun angegeben werden, um bei erfolgreichen oder fehlgeschlagenen Updates die Anwendung zu informieren
      • Es kann nun bestimmt werden, ob die Host Application geschlossen werden soll
      • UpdaterUi läuft nun über Tasks
      • UseHiddenSearch gehört nun zu UpdaterUi
      • Bei fehlender Internetverbindung fliegt nun keine Exception mehr, sondern es werden keine Updates gefunden
      • Unbenutzte Exceptions eliminiert
      • Einige Projektnamen wurden geändert (nUpdate Administration => nUpdate.Administration und nUpdate UpdateInstaller => nUpdate.UpdateInstaller)
      • Ein Fehler beim Verschieben des FTP-Verzeichnisses wurde behoben
      • Ein Fehler wurde behoben, der verursachte, dass bei einem fehlgeschlagenen Package Upload das Paket verloren ging
      • Ein Fehler wurde behoben, der verursachte, dass beim Hinzufügen eines Verzeichnisinhalts die Dateien in diesem Ordner vergessen wurden
      • Ein Fehler wurde behoben, der verursachte, dass bei einer Updatesuche mit UseHiddenSearch in manchen Fällen keine Updates angezeigt wurden
      • Ein Fehler wurde behoben, der verursachte, dass zwei URIs, bei denen der Base-URI nicht mit "/" endete, falsch verbunden wurden.
      • TransferInterface-Projekt wurde implementiert, sodass nun eigene FTP-Handler verfügbar sind
      • Verwaltung über IServiceProvider wurde eingeführt
      • nUpdateVersionAttribute hinzugefügt, über das nun alles läuft (siehe Startpost)
      • Project-Sharing wurde hinzugefügt
      • Die Credentials können nun gespeichert werden, sodass das Eingeben nicht mehr erforderlich ist
      • Beim Auswählen des FTP-Verzeichnisses können nur Verzeichnisse erstellt und gelöscht werden
      • Informationsdialog angepasst und @nafets als Hilfe für RegExp hinzugefügt (danke nochmal :) )
      • Ein Kontextmenü wurde im ProjectDialog für die Paketliste hinzugefügt
      • ReleaseCandidate wurde als Entwicklungsstadium hinzugefügt
      • Neue UnitTests wurden hinzugefügt
      • UpdateInstaller angepasst und ein wenig verbessert
      • AssemblyInfos angepasst
      • Validationen verbessert
      • Exceptionless integriert
      • Interne Codeverbesserungen und Fixes
      • mehr...
      Version kann im Startpost geladen werden. Das Implementieren von eigenen Transferhandlern wird genauso wie das Implementieren eines eigenen Installer-GUIs gemacht, könnt also das Tutorial im Startpost befolgen.

      UpdateVersion wurde wie gesagt erweitert, es gehen jetzt also solche Sachen: 1, 1.0, 1.0b, 1.0.1b1, 1.0.1-b1, 1.0.2-b.1 ...



      Weiteres sollte ich im Startpost hinzugefügt haben.

      Die Changes sind auf GitHub, allerdings ist mir da ein kleiner Fehler passiert, als ich die Projekte umbenannt habe, denn danach habe ich nicht commited und jetzt sieht man bei ein paar Changes nicht so viel. Ich hoffe, das ist nicht allzu schlimm und euch reicht der Changelog hier und das Ergebnis.
      Ich werde bald ein Tutorial zur Benutzung schreiben, sodass das mit TAP und EAP klar wird, wie man es benutzen kann, falls man nicht schlau draus wird, ansonsten fragt hier!

      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 habe zwei Fehler entdeckt:
      Wenn ich folgendes aufrufe, wirft er mir folgenden Fehler:

      VB.NET-Quellcode

      1. manager.IncludeAlpha = True
      2. manager.IncludeBeta = True
      3. Try
      4. manager.SearchForUpdates()
      5. Catch ex As Exception
      6. MsgBox(ex.Message)
      7. End Try


      In der ersten Zeile der Klasse steht folgendes:

      VB.NET-Quellcode

      1. WithEvents manager As New nUpdate.Updating.UpdateManager(New Uri("https://ssl-id.de/programmupdates.mariowa.de/badsleep/updates.json"), "<RSAKeyValue><Modulus>[Lange Zeichenfolge mit zwei Gleichheitszeichen am Ende]</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>", New nUpdate.Updating.UpdateVersion("0.0.0.1a1"), New Globalization.CultureInfo("en"))


      Außerdem ist mir in dem Verwaltungsprogramm folgendes aufgefallen: Wenn ich ein Update erneut konfiguriere, sehe ich nicht die Dateien-ersetzen-Aktion und kann sie deswegen auch nicht bearbeiten. Andere Aktionen habe ich nicht getestet.

      Gruß
      masterm
      Alle Angaben sind ohne Gewähr, jedoch mit Pistole. Glücksspiel, Drogen und leckeres Essen können süchtig machen.

      43232069737420636f6f6c21
      Anscheinend sind die alten Pakete nicht mehr kompatible. Denn jetzt steht bei mir statt Beta ReleaseCanidate an. Und wenn ich das Paket bearbeiten weill zeigt er mir ne Fehlermeldung an (Screenshot häng ich später noch an. Bin grad auf dem Handy unterwegs ^^ )
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Na geil. ^^
      @masterm Das ist komisch. Verwendest Du wirklich die neueste Version? Denn da gibt es den Konstruktor mit der Version gar nicht mehr.

      @KaskadekingDE Die Konfigurationen haben sich geändert, jo, da muss man das vmtl. noch anpassen, bei mir war das nicht der Fall, wahrs. hatte ich keine Einstellung, bei der da eine Änderung notwendig war, was das Entwicklungsstadium angeht. Wundert mich trotzdem bei Beta, denn das ist eig. 1 und hat sich ja nicht geändert, wohingegen ReleaseCandidate 2 ist.

      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 :!:
      Hier noch ein Bild (links die alte Version & rechts die neue)


      und hier die Fehlermeldung beim versuchen das Paket zu bearbeiten


      EDIT: @masterm Du musst noch die Newtonsoft.Json.dll mit in den Ordner packen.
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Okay, das hängt zusammen. Die Pakete müssten für den Client noch als "Beta" verfügbar sein, stimmt's? Wenn ja, dann weiß ich, was das Problem ist.

      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 :!:
      Was zeigt denn der NewUpdateDialog an? :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 :!:
      Musste erstmal die DLL im Client updaten und da kam schon der nächste Fehler :/ :


      Wird zwar als Warnung angezeigt aber dadurch kann ich die DLL nicht nutzen (Der Typ- oder Namespacename 'nUpdate' konnte nicht gefunden werden (Fehlt eine Using-Direktive oder ein Assemblyverweis?))
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Ach manno, wenn ich jetzt nur wüsste, warum. In meiner Testanwendung ist auch .NET 4.0 eingestellt und da geht das.
      Du hast auch 4.0 eingestellt, oder?

      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 :!:
      Okay, dann musst Du natürlich noch via NuGet Microsoft.Bcl, also Microsoft Async installieren, dann geht's, mein Fehler, sorry.
      Bei mir ist das Testprojekt in der Projektmappe, deshalb ging's. Externe Anwendung spuckt das gleiche aus, wie bei Dir.

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