none
Programm automatisch updaten RRS feed

  • Frage

  • Hallo, ich habe mir eine Anwendung geschrieben, dessen EXE ich nun meinen Kollegen geschickt habe.

    Ich benutze diese Anwendung um auf unseren Firmeninternen Server zugreifen zu können und diverse Ordner aufzulisten.

    Im Moment mache ich es so, dass ich bei einem Update den Bin-Ordner aufs netz lege und die Kollegen sich diesesn runterziehen können.

    Ich würde nun allerdings ganz gerne eine Updatefunktion einbauen. Habe mir die Funktion "Veröffentlichen" schon mal angesehen, aber dort muss man ja eine URL angeben. Würde aber gerne das Update auf unseren Server legen und das Programm dort nach nem Update suchen lassen.  Ist das Irgendwie möglich? Ps. muss man das Programm immer installieren, oder kann man auch einfach die exe nehmen, bzw. was ist sinnvoller.

    Montag, 18. März 2013 11:41

Alle Antworten

  • Hi,

    schau mal hier:

      http://autoupdaterdotnet.codeplex.com/

      http://netsparkle.codeplex.com/

      http://stackoverflow.com/questions/691663/auto-update-library-for-net

      http://www.hanselman.com/blog/MakingYourApplicationAutomaticallyUpdateItself.aspx

    Die einfachste Variante wäre im Eigenbau wäre wohl, mit einem separaten Prozess periodisch nachzuschauen, ob sich eine neue Version online befindet (ich würde hier eine XML Datei nehmen, dort kann man dann auch gleich die Änderungen der jeweiligen Version hinterlegen und ggfs. vor dem Update anzeigen). Falls eine neue Version vorhanden ist, beendet man die eigentliche Anwendung und kopiert die neuen Dateien. Allerdings ist das schon ein wenig Arbeit, bis es richtig läuft, daher wäre es ggfs. sinnvoller, sich eine der vorhandenen Libraries anzuschauen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 18. März 2013 12:23
    Moderator
  • Also ich dachte mir, dass ich mir eine kleine Inidate erstelle, in der die Version steht, welche ich dann abrufe. Wenn eine neuer Version zur Verfügung steht, dann lade ich die Dateien runter.

    Jetzt ist nur die Frage muss ich das in einem separaten Programm tun? denn wenn ich die exe gestartet habe, kann ich diese ja nicht mit der neuen exe überschreiben, oder?

    Montag, 18. März 2013 13:37
  • Hi,

    Ja. Du kannst die Prüfung, den Download, ... schon in der eigentlichen Anwendung machen, wenn Du das willst. Nur das Kopieren müsstest Du einem anderen Prozess überlassen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 18. März 2013 13:47
    Moderator
  • aha ok. also ich habe jetzt schon mal ne Prüfung drin, die zumindest die Versionsnummer vergleicht.

    Updaten selbst mache ich nicht, dass muss noch per Hand gemacht werden.

    Montag, 18. März 2013 15:16
  • Also ich habe es so gemacht, dass ich mir ein neues Programm geschrieben habe, welches den gesammten Programmordner inkl. der .exe Datei nach Änderungsdatum überprüft, da man bei hotfixes doch mal vergisst in der Assembly die versionsinfo zu ändern.

    Das Programm ersetzt dann alte Dateien durch neue und kopiert nicht vorhandene direkt vom Server.

    Optional kannst du es noch so erweitern, dass dein Programm vor Start den Updater aufruft, welcher nach Ausführung wieder dein Programm aufruft, dann updatet es automatisch bei Programmstart.

    mfg

    Simon

    Dienstag, 26. März 2013 13:57