nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

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

      SFTP wird ja auch nicht standardmäßig unterstützt, nur FTP und FTPS. Für alles andere musst Du Dir einen eigenen TransferHandler scheiben. Darum ging es ja weiter oben.

      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 ich habe ein kleines Problem mit nUpdate. Es findet Updates fängt auch an diese runterzuladen aber ab 40% macht es einen Sprung zu 100% und Updated nichts. Habe einen neuen Server gemietet (der viel besser ist). Kannst du dir das erklären? Danke im vorraus!

      LG
      Quellcoder
      Projekte
      Was heißt, dass es nichts updatet? Was passiert, nachdem sich der Dialog schließt?
      Welche Version hast Du und welchen Code benutzt Du?

      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 Nachdem der Dialog sich schließt sollte sich eigentlich die Anwendung schließen, er macht allerdings ncihts. Der Dialog schließt sich, ende. Es passiert nichts.
      Version sollte 3.0.0.0
      Code:
      Spoiler anzeigen

      VB.NET-Quellcode

      1. Try
      2. Dim manager As New UpdateManager(New Uri("http://.../Updates/ohilfe/updates.json"), "<RSAKeyValue><Modulus>zhpO4Sz9whJVG/vS9i5/ACRnMPCbkHS2SAOXh3O0YedAnzDK4YfiynL6aSz3gnUubFKA9MfKv2msmXsDayV9CYRmuOONSCshLxBEHQSDpo2b6sKvGX1WS1H3VogHONTepJr43sULR2mvRGV4cADjHEPRY4LecyCLdP3QxvoEFlGnanRJaeu/6axtq/d4Zn9n2sa9J42Jnd2Y7eCOVpyhAOnxvRwR7Ac16A5cfTWCZyQ98096inhekpTFiq5NKY9M/BZ6YLZ7Kg8WqgMs2BMbyxhUEFDtev8RVntFB345WarniCqPvMjLLwBvcb8wE2BKDK4cgiH8gaxF6bSw4wbJ7XO2/fYcVS3CXynZM34m5S97hUPWlL+LPceWP1qDBosOb1mgm+SxX+MHzg8tAINGdlYhxXFEuFups7StXQ9WtuToMhVnZyV5Q/rK5UklwswujgvwWfUBoB7tm+yFWpND/GhObWHu0BeojhBtOdS7vcG+77GlwlgEvWrAe3TfFOZts6NAP0xXQJBNgLkaQZxADvGgTScVs/gjQE53DBGjjljxp9QJtYl+uFUdM+m7+/0C/8YsZuFBf9vBBESXXg0ADP/sOANp1rWL13jCxN0px17qtHgM0ssQ6QZtSXunmC5M86zgGsFYvCEtZ+dOlf63mXwxcOityUjzXXkRSWO8mZCBFTU5G3pzGKEH0X5rtrMbVBMTH1fYJ90/sJDnOPso9jBjl+MGVwomqO4NG4IGu9YvyXG37NitZL0a+1HiI1O6Ke96cK7uuqpwo+wjZCWY8ONCg8uOQBORKveeE1YCcmWoN/+kWBdvEj9VVcgcZuinm2U/Lvg3Yli++CHMpVi77qZtetVwApTceqM3Ox4sRS3J1ifVDXn4ce/rvgeYptW+V+oR0huV7O0cvxcExUk2Hn252I66UUxAI8SLmbTu5KT6EobcKJu/vm1PfK9Suk98Ak7aa4eFH18cY6n6Y1+Bk2fy7V/NPbJA1nleoOomZZnetmZFQUc5HCuttGnVMAZMCikhz75QqTi823dqgFiZeOfiU9bmGkPmqtKClpeHKfMNpqI/00sKIGbtpO0XUOE4wkGfZ8F1Ll7omhdedfaDgCVN2Y+xdwtyon5EtZ1s3ZVej2YxszBieSVO7c2eYd2mfxvxgkZa7v/g5601jvRNIXEfdE1brz9ek50wT3F5Xwd+aTEs0GmxXdKKs54ojVyXWDVywUzVyTS0MhxSgV065yfdxGBvLhXwCiMWbxn56FZKJbuXcgjHcxCoj2djSRFfpCo1/kCVvUJ6DuPv2MA+9yxoUm/XlcUf2mggDPpyQhudYgcuJDt2AKeJV9pXPIoqKoVJWSDWuQGu+SLKW7oLsw==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>", New CultureInfo("de"))
      3. manager.IncludeBeta = True
      4. manager.IncludeAlpha = True
      5. manager.CloseHostApplication = True
      6. Dim updaterUI As New UpdaterUI(manager, SynchronizationContext.Current)
      7. updaterUI.UseHiddenSearch = True
      8. updaterUI.ShowUserInterface()
      9. Dim succeededArgument As New UpdateArgument("success", UpdateArgumentExecutionOptions.OnlyOnSucceeded)
      10. Dim failedArgument As New UpdateArgument("failed", UpdateArgumentExecutionOptions.OnlyOnFaulted)
      11. manager.Arguments.Add(succeededArgument)
      12. manager.Arguments.Add(failedArgument)
      13. Catch ex As Exception
      14. MessageBox.Show(ex.ToString())
      15. End Try



      LG
      Quellcoder
      Projekte
      Die Argumente musst Du übergeben, bevor Du den Updateprozess startest. Also vor dem Aufruf von ​ShowUserInterface.
      Also er zeigt auch nicht den UAC-Dialog an? Und von der v3.0 gibt es 7 Beta-Versionen. Welche davon wäre interessant.

      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:

      Also er zeigt auch nicht den UAC-Dialog an?

      Ich wüsste jetzt nicht was das sein sollte.

      Trade schrieb:

      Und von der v3.0 gibt es 7 Beta-Versionen. Welche davon wäre interessant.

      Es steht Laufzeitversion: v4.0.30319
      und Version: 3.0.0.0

      LG
      Projekte
      de.wikipedia.org/wiki/Benutzer…AC_prompt_for_consent.JPG

      Quellcoder02 schrieb:

      und Version: 3.0.0.0
      Nochmal: Welche Version genau? Was hast Du geladen?

      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 :!:
      Ist das eine normale Windows Forms-Anwendung?

      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 :!:
      Mach mal das Try-Catch in jedem Fall weg. Zeigt das Ausgabefenster irgendwelche Fehler/Exceptions an?

      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 ich bin mir nicht ganz sicher welches Ausgabefenster du meinst, es kommt allerdings keine Exception oder sonst irgendwas auch wenn das Try/Catch weg ist. Es ist immer noch so wie beschrieben: Download Progress wird angezeigt, ab 40 macht es einen Sprung zu 100.

      LG
      Quellcoder
      Projekte
      Das Ausgabefenster ist Teil von VS und im Normalfall unten (rechts).
      Also so hab ich keine Ahnung, was das sei könnte. Du müsstest mir das Projekt vielleicht mal zukommen lassen?

      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 hab jetzt nicht alle 33 Seiten gelesen, vielleicht gabs die Frage auch schon mal.
      ich habe im Code

      VB.NET-Quellcode

      1. manager.CloseHostApplication = True
      stehen.
      Die Anwendung schließt sich aber leider nicht, daher kommt dann beim Update natürlich der Fehler, das die Dateien nicht getauscht werden können, da sie in Verwendung sind.
      Was kann ich dagegen tun?

      EDIT:
      liegt es eventuell daran, das meine Anwendung bei Klick auf das Kreuz in der Form nicht geschloßen wird sondern nur in Tray gelegt wird?

      VB.NET-Quellcode

      1. Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
      2. If My.Settings.hideApplication Then
      3. Me.Visible = False
      4. tmrMain.Stop()
      5. CleanUp()
      6. e.Cancel = True
      7. Else
      8. Me.Dispose()
      9. End If
      10. End Sub


      EDIT2:
      Japp, es liegt genau daran. Wie kann ich es umgehen?
      "Hier könnte Ihre Werbung stehen..."

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

      Hi,

      es wird nur Application.Exit() aufgerufen. Das heißt, dass durch das Verhindern des Schließens der Form das eben nicht funktioniert, wie Du richtig herausgefunden hast.
      Du kannst folgendes machen: Eine neue Klasse erstellen, von UpdateManager erben und die Methode TerminateApplication überschreiben. Darin einfach Environment.Exit(0) aufrufen und diese Klasse nutzen.
      Da das auch bei WPF und Konsolenanwendungen ein Problem ist, werde ich das in der v3.0-beta8 beheben.

      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, freut mich. Habe auf jeden Fall jetzt mal ein Issue dazu erstellt: github.com/ProgTrade/nUpdate/issues/31

      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,
      ich habe Probleme bei der Property HttpAuthenticationCredentials. Es wird immer eine System.NullReferenceException geworfen.
      Ohne dieser Properties läuft der Updater.

      Folgenden Code habe ich:

      VB.NET-Quellcode

      1. Private _updManager As UpdateManager
      2. _updManager = New UpdateManager(New Uri(...),..,...)
      3. '_updManager.HttpAuthenticationCredentials.Domain = "https://..." '->testweise
      4. _updManager.HttpAuthenticationCredentials.UserName = GLOBAL_UPDATE_USER
      5. _updManager.HttpAuthenticationCredentials.Password = GLOBAL_UPDATE_PASSWORD


      Ist das so richtig?

      Eine weitere Frage bezüglich der Abfrage nach Updates vom Client-Programm:
      Wird dies über TLS 1.2 gemacht?
      Ich frag ja nur wegen der HttpAuthenticationCredentials-Properties.

      Vielen Dank,
      Sven