nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

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

      So ist es. Das ist nur normale HTTP Authentifizierung über die Angabe von einer ​.htpasswd-Datei. Die NullReferenceException wird ausgelöst, weil Du das nicht instanziierst. Du musst der Eigenschaft eine NetworkCredential-Instanz zuweisen.

      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 :!:
      Dank an Euch beide,
      zu TLS:
      - ob das nu eine "Basic"-Authentifizierung ist oder nicht - spielt doch keine Rolle - es geht doch um den Transportweg! -> Oder irre ich mich da so sehr, dann klärt mich bitte auf.

      zu Property:
      - ist das so korrekt? (wenn nicht, gibts da ein bisl Beispiel-Code von Dir @Trade?)

      VB.NET-Quellcode

      1. _updManager.HttpAuthenticationCredentials = New NetworkCredential(GLOBAL_UPDATE_USER, GLOBAL_UPDATE_PASSWORD)


      Gruß, Sven
      Also wenn Du HTTPS hast, dann ist das natürlich verschlüsselt. Aber das hat ja nichts mit der Authentifizierung zu tun. Daher weiß ich nichg ganz, was Du meinst.
      Der Code ist so korrekt.

      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 :!:
      Sorry das ich das so unklar beschrieben habe.
      Ich meine den Transportweg über Https natürlich, nicht die Authentifizierung.

      Wenn .net 4.5.x verwendet wird, ist glaub ich TLS1.1 (oder 1.0?) die Standard-Verschlüsselung über HttpRequest - bei .net 4.6.x ist diese bereits TLS1.2 .
      Alle anderen darunter gelten als gebrochen und sollten halt nicht mehr verwendet werden (SSLv1/2/3, TLS1.0/1.1).
      Dies kann man aber über folgendes explizit ändern bevor der Request abgesetzt wird:

      VB.NET-Quellcode

      1. ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 'Or SecurityProtocolType.Tls11 Or SecurityProtocolType.Tls


      Die Frage stellt sich ja auch nur, wenn ich Benutzer/Anmeldedaten mitsende!
      Für eine "normale" Abfrage und den Download der Update-Pakete ohne Authentifizierung wäre das nicht nötig - aber gut zu wissen, das TLS1.2 als Standard unterstützt wird.

      Ich hoffe, mir kann jetzt einer folgen. ;)
      Gruß, Sven
      Ah okay. Ich werde da mal nachsehen. Es kommt eh noch eine neue Version raus. Allerdings erst so in ca. 3-4 Wochen, weil ich davor Abitur hab und somit keine Zeit.

      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 @Trade
      hab schon 2 Projekte erfolgreich auf nUpdate umgestellt.
      Heute wollte ich das 3. Projekt anlegen.
      Nach der Auswahl des Statistik Servers erhalte ich diesen Fehler:

      Er versucht scheinbar das neue Projekt wieder als 1. Projekt anzulegen.
      Hast Du ne Lösung dafür?
      "Hier könnte Ihre Werbung stehen..."
      Hi,

      die Statistiken sind noch ziemlich verbuggt und müssten mal komplett überarbeitet werden.
      Auswendig weiß ich leider gerade nicht, was das Problem ist, aber das kann gut mit den ApplicationIDs irgendwie zusammenhängen. Das System ist halt noch gar nicht ausgereift.
      Du könntest mal nachsehen, was in den anderen Updateprojekten bei ApplicationID drinsteht und was in den My.Settings der nUpdate Administration für ​ApplicationID eingetragen 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 :!:
      Hi,
      wo finde ich in den Updateproejkten die ApplicationID??
      Im Statistikserver sehe ich, das 2 ApplicationID eingetragen sind.

      Meinst Du die nUpdate Administration unter AppData-Local? da steht in der user.config:

      XML-Quellcode

      1. <?xml version="1.0" encoding="utf-8"?>
      2. <configuration>
      3. <userSettings>
      4. <nUpdate.Administration.Properties.Settings>
      5. <setting name="Language" serializeAs="String">
      6. <value>en</value>
      7. </setting>
      8. <setting name="ApplicationID" serializeAs="String">
      9. <value>1</value>
      10. </setting>
      11. <setting name="VersionID" serializeAs="String">
      12. <value>1</value>
      13. </setting>
      14. <setting name="ProgramPath" serializeAs="String">
      15. <value>D:\OneDrive\VS\Updates</value>
      16. </setting>
      17. </nUpdate.Administration.Properties.Settings>
      18. </userSettings>
      19. </configuration>

      wobei ich da auch 2 Ordner von habe ;(
      Wenn ich die anderen Projekte editiere und den Dialog komplett durchlaufe, gibt es keine Probleme.
      "Hier könnte Ihre Werbung stehen..."
      Okay, eigentlich müsste es die ApplicationID inkrementieren.
      Was genau meinst Du mit "Wenn ich die anderen Projekte editiere und den Dialog komplett durchlaufe"?

      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 denke ich hab das Problem gefunden.
      Ich hatte vor einiger Zeit 2 Projekte auf nUpdate umgestellt und da auch Updates für hochgeladen.
      Dann hab ich den Laptop getauscht und alles neu installiert.
      Daher wird nUpdate nun gedacht haben das mein 3. Projekt das erste ist....
      Ich hab jetzt alle Projekte gelöscht und einmal neu über nUpdate erstellt.
      Jetzt passt erstmal alles...
      "Hier könnte Ihre Werbung stehen..."

      MichaHo schrieb:

      Dann hab ich den Laptop getauscht und alles neu installiert.
      Jap, das ist die Ursache. Die ApplicationID in den My.Settings ist ja dann folglich nicht diesselbe und fängt wieder von vorne an. Das ist einer der Gründe, warum das Statistikzeugs noch unausgereift ist. Daher muss ich das nochmal überarbeiten, auch was das Exportieren von Projekten angeht.
      Aber freut mich, wenn es jetzt geklappt hat. Sorry für die Unannehmlichkeiten.

      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 :!:
      Da in AppData, wo Du sie auch gefunden hast? :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 :!:
      Ahhhhh.... jetzt... (Denkblockade)

      XML-Quellcode

      1. <?xml version="1.0" encoding="utf-8"?>
      2. <configuration>
      3. <userSettings>
      4. <nUpdate.Administration.Properties.Settings>
      5. <setting name="ApplicationID" serializeAs="String">
      6. <value>4</value>
      7. </setting>
      8. <setting name="ProgramPath" serializeAs="String">
      9. <value>C:\Users\mhoffmann\AppData\Roaming\nUpdate Administration</value>
      10. </setting>
      11. </nUpdate.Administration.Properties.Settings>
      12. </userSettings>
      13. </configuration>

      jetzt stimmt die ApplicationID :thumbsup:
      "Hier könnte Ihre Werbung stehen..."
      Update auf Version 3.0.0 Beta 8

      Änderungen:

      • Fixed a bug that caused a NullReferenceException during the update process when an invalid language culture was provided
      • Added support for all types of applications (Windows Forms, Console, WPF, ...) for closing the host application correctly without having to override the TerminateApplication method
      • Improved syntactic update version checks with regards to the developmental stage
      • Improved the implementation of the nUpdateVersionAttribute
      • Added new optional parameter currentVersion to the constructor of the UpdateManager class that hides/overrides the version provided by the nUpdateVersionAttribute, if provided. This implementation allows the usage of multiple UpdateManager instances that aren't completely bound to the host application itself, but can be used for updating external applications as well (together with the corresponding operations). Additionally, this simplifies specifying any other sources that provide the current version and make this feature more flexible.
        Though, the nUpdateVersionAttribute remains for providing nUpdate Administration with the necessary information when creating a new package.
      • Fixed a bug that caused that update packages could not be removed when their corresponding directories would no longer exist on the server

      Bemerkungen:

      Es gibt jetzt, wie dem Changelog zu entnehmen ist, einen weiteren optionalen Parameter currentVersion in der Klasse UpdateManager. Dort kann man direkt die aktuelle Version angeben, die dann die des nUpdateVersionAttribute überdeckt, wenn sie angegeben ist. Dies hat den Vorteil, dass man die Version aus beliebigen Quellen laden und angeben kann. Desweiteren ist dies z. B. für Launcher nützlich, da dort nicht der Launcher selber, sondern ein externes Programm aktualisiert werden soll. Durch die Bindung an das Attribut, das nur die Host Application repräsentiert hat, war dies bisher nicht möglich. nUpdate war bisher nur darauf ausgelegt, die Anwendung zu aktualisieren, in der es implementiert wurde. Jetzt hat sich das geändert.
      Insofern der Parameter nicht angegeben wird, wird das Attribut weiterhin verwendet, was dafür sorgt, dass kein Major-Change nötig war. Bisherige Nutzer können auf die Beta 8 aktualsieren, ohne irgendetwas verändern zu müssen. Das Versionierungssystem wird ja dann in Bezug auf die v4.0 eh nochmals überarbeitet.

      Download wie immer im Startpost und über NuGet.

      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, wenn ich in der Administration in der neuen Version 3.0.0.0b8 auf die Einstellungen gehe, erscheint folgende Meldung:
      Spoiler anzeigen

      Brainfuck-Quellcode

      1. ---------------------------
      2. Unhandled Exception in nUpdate Administration
      3. ---------------------------
      4. nUpdate Administration has encountered an unhandled error and needs to exit:
      5. The version string couldn't be loaded because the nUpdateVersionAttribute isn't implemented in the executing assembly and no version was provided explicitly.
      6. bei nUpdate.Updating.UpdateManager..ctor(Uri updateConfigurationFileUri, String publicKey, CultureInfo languageCulture, UpdateVersion currentVersion) in C:\Users\Trade\OneDrive\Dokumente\GitHub\GitHub\nUpdate\nUpdate\Updating\UpdateManager.cs:Zeile 90.
      7. bei nUpdate.Administration.UI.Dialogs.PreferencesDialog..ctor() in C:\Users\Trade\OneDrive\Dokumente\GitHub\GitHub\nUpdate\nUpdate.Administration\UI\Dialogs\PreferencesDialog.cs:Zeile 24.
      8. bei nUpdate.Administration.UI.Dialogs.MainDialog.sectionsListView_Click(Object sender, EventArgs e) in C:\Users\Trade\OneDrive\Dokumente\GitHub\GitHub\nUpdate\nUpdate.Administration\UI\Dialogs\MainDialog.cs:Zeile 310.
      9. bei System.Windows.Forms.Control.OnClick(EventArgs e)
      10. bei System.Windows.Forms.ListView.WmReflectNotify(Message& m)
      11. bei System.Windows.Forms.ListView.WndProc(Message& m)
      12. bei nUpdate.Administration.UI.Controls.ExplorerListView.WndProc(Message& m) in C:\Users\Trade\OneDrive\Dokumente\GitHub\GitHub\nUpdate\nUpdate.Administration\UI\Controls\ExplorerListView.cs:Zeile 79.
      13. bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
      14. ---------------------------
      15. OK
      16. ---------------------------

      Danach schließt sich die Anwendung. Ich habe so die Vermutung, dass das nicht gewollt ist...

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

      43232069737420636f6f6c21
      @masterm Shit, da hab ich was übersehen. *facepalm*
      Danke, ich repariere das nachher direkt.

      Edit: @Snickbrack Was willst Du uns damit sagen? :P

      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“ ()

      Mini-Update der Administration auf Version 3.0.0 Beta 9
      • Fixed an unhandled exception when opening the preferences

      Ich habe jetzt btw mal die drei Teile auch in drei verschiedene Releases sowie Archive gepackt, damit ich nicht bei einer einzelnen Änderung in der Administration immer gleich alles andere anpassen muss, obwohl gar nichts passiert ist. So ist das jetzt eigenständiger.
      Das ganze wird dann auch noch in eigene Branches gepackt, damit die Aufteilung der Releases besser funktioniert. :)
      Downloads sind nun alle im Startpost angepasst.

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