Ich habe eine c # -Anwendung und ich bin hauptsächlich damit beschäftigt, automatische Updates für Clients, die meine Software ausführen, auszugeben. Diese Updates können alles von einer neuen / gepatchten DLL bis zur neuen Ressourcendatei sein.
Ich weiß, dass ich eine ClickOnce-Anwendung erstellen kann, um dorthin zu gelangen, aber es lässt nicht viel Kontrolle zu, wie ich es möchte (zum Beispiel möchte ich 3rd-Party-Komponenten mit meiner Software leicht "bündeln" können) in der Lage sein, den Benutzer entscheiden zu lassen, welche Komponenten aktualisiert werden sollen).
Ich sehe, dass Programme wie NotePad ++ einen dedizierten Updater haben, aber ich hoffe, dass ich von anderen pendeln kann, anstatt meinen eigenen Updater von Grund auf neu zu schreiben.
Was sind meine Optionen?
Es gibt ein paar verschiedene, die Sie auschecken können.
Über dieses Thema wurde schon eine Weile geredet, aber ich habe keine Neuigkeiten darüber gehört, ob es noch nicht fertig ist, es zu benutzen.
Ich würde es empfehlen, als ich das letzte Mal ein Ticket geöffnet habe, hat er es fast sofort angesprochen.
Keine von ihnen wird eine 100% ige Lösung sein, weil das Aktualisieren von Anwendungen eines der Dinge ist, die schwer zu verallgemeinern sind.
Für mich ist das, was ich tue, eines von zwei Dingen.
1) Verwenden Sie Ссылка , um meine Updates zu hosten, und rollen Sie mein eigenes System, das Dinge herunterlädt / neu startet / aktualisiert.
2) Rollen Sie mit einem Komponentenindex auf AWS S3. Das XML listet die Komponenten auf und zeigt auf die URL, um jedes Update zu erhalten. Von dort entscheidet Ihre Anwendung, wie / wann sie gestoppt / aktualisiert / neu gestartet werden soll.
Auch wenn ich die Hauptanwendung aktualisiere, generell wie ich es mache (wenn die Anwendung bereits läuft)
Wenn die Anwendung nicht läuft, führe ich einen Update-Check / Download / Installation beim Start durch (aber nur, wenn es entscheidend ist, dass die Leute das absolut letzte ausführen).
Am Ende wird keines dieser Frameworks zu 100% Ihren Anforderungen entsprechen, da kein Szenario das gleiche ist, hoffentlich bekommen Sie den größten Teil davon.
Aufbauend auf SLaks Kommentar.
Chocolatey ist ein Wrapper um nugget für die Installation von Apps, ähnlich wie app-get in der Linux-Welt. Es ist ein Werkzeug, um alle Arten von Installern einzubinden.
Wenn Ihre Kunden die Befehlszeile ausführen möchten, ist chocolatey eine gute Lösung für die Veröffentlichung von Apps.
Das WiX-Installationsprogramm beschreibt sich selbst als "das leistungsstärkste Set an Tools, mit denen Sie Ihre Windows-Installationserfahrung erstellen können. Frei und Open Source seit 2004! " Je nachdem, wie anspruchsvoll Sie gehen möchten, können Sie es sich auch ansehen.