Guten morgen,
und schonmal vorweg... bitte erschlagt mich nicht für diesen Beitrag und ja ich habe das hier gelesen: Updater - Worauf sollte man bei eigenen Updatern achten?
So nun zu meiner Frage... Da ich derzeit keinen eigenen Server betreiben möchte und nUpdate zum updaten Adminrechte braucht, dachte ich mir, man könnte ja zumindest im Programm einen Hinweis anzeigen, das eine neue Funktion verfügbar ist und von Github heruntergeladen werden kann.
Mein vorgehen wäre so:
Mit Octikit (.net libary für die github api) würde ich anhand des "tag_name" (JSON: api.github.com/repos/BornToBeRoot/NETworkManager/releases) prüfen ob eine neue Version veröffentlicht wurde.
Dem Benutzer einen Hinweis/Dialog anzeigen, in dem ein Link zu Github geöffnet werden kann.
Seite: github.com/BornToBeRoot/NETworkManager/releases/latest
Der Benutzer kann dann über seinen Standardbrowser die neue .ZIP-Datei herunterladen.
Was haltet ihr von der Idee?
Angreifbar wäre man hier mit Man-in-the-middle... Ist aber immerhin besser als automatisch unsignierte Dateien herunterzuladen...
Edit:
Code zum prüfen
Und zum Seite öffnen:
und schonmal vorweg... bitte erschlagt mich nicht für diesen Beitrag und ja ich habe das hier gelesen: Updater - Worauf sollte man bei eigenen Updatern achten?
So nun zu meiner Frage... Da ich derzeit keinen eigenen Server betreiben möchte und nUpdate zum updaten Adminrechte braucht, dachte ich mir, man könnte ja zumindest im Programm einen Hinweis anzeigen, das eine neue Funktion verfügbar ist und von Github heruntergeladen werden kann.
Mein vorgehen wäre so:
Mit Octikit (.net libary für die github api) würde ich anhand des "tag_name" (JSON: api.github.com/repos/BornToBeRoot/NETworkManager/releases) prüfen ob eine neue Version veröffentlicht wurde.
Dem Benutzer einen Hinweis/Dialog anzeigen, in dem ein Link zu Github geöffnet werden kann.
Seite: github.com/BornToBeRoot/NETworkManager/releases/latest
Der Benutzer kann dann über seinen Standardbrowser die neue .ZIP-Datei herunterladen.
Was haltet ihr von der Idee?
Angreifbar wäre man hier mit Man-in-the-middle... Ist aber immerhin besser als automatisch unsignierte Dateien herunterzuladen...
Edit:
Code zum prüfen
C#-Quellcode
-
- public static void Check()
- {
- GitHubClient client = new GitHubClient(new ProductHeaderValue("NETworkManager"));
- Task<Release> latestRelease = client.Repository.Release.GetLatest("BornToBeRoot", "NETworkManager");
- // Compare versions (tag=v1.4.2.0, version=1.4.2.0)
- if (new Version(latestRelease.Result.TagName.TrimStart('v')) > AssemblyManager.Current.Version)
- MessageBox.Show("Update");
- else
- MessageBox.Show("Kein Update");
- }
Und zum Seite öffnen:
NETworkManager - A powerful tool for managing networks and troubleshoot network problems!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BornToBeRoot“ ()