nUpdate - Die komfortable Updatelösung

    • Release
    • Open Source

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

      Moin,

      musste das jetzt etwas studieren, um zu verstehen, was Du meinst. ^^
      In so einem Fall ist das in der Tat blöd, da auch die Necessary Updates da nicht helfen würden, da die aktuelle Version ja trotzdem die neueste wäre und dann wird das von der vorherigen nicht ausgeführt. Das meinst Du, oder? Eine Idee wäre noch (gewesen), eine .exe mitzuliefern, die das macht und dann beim Installieren des Updates auf den PC kopiert und dann mit einer Operation (Prozess starten) ausgeführt wird, aber das ist auch nicht Sinn der Sache, da ein wenig zu umständlich und ich nicht weiß, in welcher Reihenfolge das Updatesystem.NET die Sachen ausführt, also ob das für Dich so funktioniert hätte. Bei nUpdate wäre das zumindest als Notlösung gegangen.

      Das mit dem Script ist eine gute Idee, so könnte man bei den Operationen alles machen, was man will und diese flexibel erweitern. Das werde ich dann auch mit CodeDom oder so einbauen, danke für den Vorschlag. ;)

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

      Okay, das werde ich beheben, danke.

      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 :!:
      Irgendwie will er bei mir nicht mehr updaten:

      Quellcode

      1. System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
      2. bei Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
      3. bei Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
      4. bei Microsoft.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
      5. bei nUpdate.Updating.UpdaterUI.<>c__DisplayClassd.<<ShowUserInterface>b__6>d__16.MoveNext()


      Update hochgeladen mit der Administration v2.0 Beta 2 (bzw. 1) DLL Version v2.0 Beta 1
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Da gibt es zwei Möglichkeiten, wo die Exception ausgelöst wird, da ich zwei Dictionaries habe. Hast Du einen StackTrace?

      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 :!:
      Hm okay, die PDB müsste eig. ja dabei sein, hast Du es mal versucht, wenn die mit im Ordner ist? Ansonsten müsstest Du mir die Abläufe sagen, also welche Pakete du veröffentlicht hast und wie die Aussehen (Operationen enthalten, Version 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 :!:
      Er hat sich doch entschieden ein StackTrace herzugeben ^^

      Quellcode

      1. System.ArgumentException ist aufgetreten.
      2. HResult=-2147024809
      3. Message=Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
      4. Source=mscorlib
      5. StackTrace:
      6. bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
      7. bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
      8. bei System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
      9. bei nUpdate.Updating.UpdateManager.SearchForUpdates() in c:\Users\Dominic\Documents\Visual Studio 2013\Projects\nUpdate\nUpdate\Updating\UpdateManager.cs:Zeile 265.
      10. InnerException:
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Super, wie lauten die Versionen Deiner Pakete?

      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 :!:
      Hab eigentlich nur 2 (hab eine neue Projekt-Datei erstellt da ich aussversehen die Update-Datei mit dem Privaten-Schlüssel auf GitHub hochgeladen habe :> ) :

      Quellcode

      1. 0.3.3.0 Alpha 1 (eigentlich Beta 1 aber da scheint die Administration wieder nicht zu wollen)
      2. 0.3.5.0 Beta 1
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯

      KaskadekingDE schrieb:

      da ich aussversehen die Update-Datei mit dem Privaten-Schlüssel auf GitHub hochgeladen habe

      Wie? Eigentlich implementieren keine Daten in den Updates den PrivateKey, der ist ja nur lokal in der Administration.

      Wann hast Du denn das Paket, das jetzt Alpha ist, erstellt? Vor dem Update auf die Beta 2 oder danach? Und wird diese auch beim Client als Beta noch angezeigt?
      Ansonsten kann ich mir den Fehler nicht erklären, denn die Versionen sind ja unterschiedlich, aber ich schaue mal, ob ich was nachvollziehen kann.

      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 :!:
      In der Update-Datei gibt es einen Eintrag namens PrivateKey und die Datei hab ich ausversehen hochgeladen.

      Trade schrieb:

      Wann hast Du denn das Paket, das jetzt Alpha ist, erstellt? Vor dem Update auf die Beta 2 oder danach?

      Vor der Beta 2.

      Trade schrieb:

      Und wird diese auch beim Client als Beta noch angezeigt?

      Ich hab die Version als Ausgangsversion hochgeladen (die wo der Updater hinzugefügt worden ist. Keine Ahnung warum :D )

      Ansonsten das einzige woran es vielleicht liegen könnte ist, dass ich 0.3.5 erstellt habe aber dort keine ZIP hochgeladen worden ist so das Paket gelöscht habe und neu erstellt habe.
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯

      KaskadekingDE schrieb:

      Vor der Beta 2.

      Öffne mal bitte die Projektdatei mit einem Editor (Notepad++ o. ä.), gehe zu Packages und suche diese. Dann poste bitte die LiteralVersion dieser Package hier.

      KaskadekingDE schrieb:

      Ansonsten das einzige woran es vielleicht liegen könnte ist, dass ich 0.3.5 erstellt habe aber dort keine ZIP hochgeladen worden ist so das Paket gelöscht habe und neu erstellt habe.

      Wenn ich das richtig verstanden habe, dann gäbe es noch eine Möglichkeit, nämlich, dass dadurch diese Version mehrmals in der Konfiguration steht. Ist dem so?

      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 :!:
      Bei mir gibt es kein LiteralVersion-Eintrag. Nur Version, Description, IsReleased & LocalPackagePath.

      Trade schrieb:

      Wenn ich das richtig verstanden habe, dann gäbe es noch eine Möglichkeit, nämlich, dass dadurch diese Version mehrmals in der Konfiguration steht. Ist dem so?

      Nope :/ Da steht die Version nur einmal drin.
      KaskadekingDE on GitHub :)
      Bitte keine Fragen über Programmierung per PN! Dafür ist das Forum hier.

      Who cares? ¯\_(ツ)_/¯
      Ich meinte die Version. ^^
      Ach mist, dann macht das aber nicht viel Sinn, denn warum sollte dann der gleiche Schlüssel schon vorhanden sein... Darf ich mir die Konfiguration mal ansehen (Link)?

      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 :!:
      Bingo, das ist dann das Problem. Nimm eine raus bzw. lass nur die drin, die die richtige ist.
      Und die eine Version musst Du dann halt editieren. Ab Version 1.0.0 Beta 1 werden die Paketversionen ja richtig umgewandelt, d. h., dass es da wohl noch ein Kompatiblitätsproblem oder sowas gab, kann es zumindest nicht reproduzieren.

      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 2.0.0 Beta 3

      Added script operation
      Fixed missing input dialog for transfer assembly
      Moved some files
      Updated installer binaries in library

      Man kann also nun Script-Operationen hinzufügen, die beim Installieren eines Updates eueren C#-Code ausführen. Eine Unterstützung für VB.NET kommt im nächsten Update. Danke für den Vorschlag, @VincentTB.

      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 :!:
      Du könntest beim Erstellen von Paketen vielleicht vorschlagen, die Einstellungen/Daten/Aktionen vom letzten Update importiert werden, sodass man nur noch die Version und den Changelog ändern muss, dann muss man nicht immer bei jedem Update die Dateien neu auswählen etc.
      Grüße,
      Lukas

      Fragen über Themen im Forum per Konversation werden gelöscht und die Absender blockiert...