Datei von einem Http Server downloaden lassen und danach starten lassen.

  • VB.NET
  • .NET (FX) 4.0

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Anemyse.

    Datei von einem Http Server downloaden lassen und danach starten lassen.

    Hallo,
    ich bin neu auf dem Gebiet und würde gerne um eure Hilfe beten.
    Ich möchte nach start einer Datei die in Vb.net Programmiert wurde aufordern lassen das sie eine bestimmte datei von meinem Http Server heruntergeladen wird und von einem bestimmten Pfad ausgeführt wird.
    Mein Problem ist jetzt das ich nicht weiß wie ich den Pfad bestimmen kann wo ich meine bestimmte datei ausführen lassen kann.

    Das ganze sieht jetzt so aus:

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Dim remoteUri As String = ".Http Server"
    3. Dim fileName As String = "Exe die ausgeführt werden soll"
    4. Dim wc As New WebClient
    5. wc.DownloadFile(New System.Uri("Http Server"), My.Application.Info.DirectoryPath & "/datei Name")
    6. AddHandler wc.DownloadProgressChanged, AddressOf DownloadProgressChanged
    7. End Sub




    Bloß fehlt mir jetzt der Part wo ich den Pfad der gedownloadeten Datei bestimmen und ausführen lassen kann.



    Ich danke ihnen für ihre aufmerksamkeit und freue mich auf eine Antwort.
    Mfg. Ole

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

    Das ist ein direkter Download Link von meinen Http server.
    Das ist so viel wenn man auf den Link geht downloadet der direkt die Datei.
    Ich wusste bloß nicht wie ich es beschrieben sollte deswegen habe ich mich so schlecht artikuliert.
    Tut mir leid.
    Ich habe halt bloß immer noch nicht das Problem und google kann mir da auch nicht weiter helfen.
    #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 :!:
    Also dazu: Du lädst eine Binary runter und validierst sie nicht. Da besteht generell die Gefahr der Manipulation. In der Regel wird darauf bei Updatern hingewiesen, da die Routine die selbe ist. Diesen Aspekt kannst Du außen vor lassen, es geht nur um das Herunterladen und Ausführen selbst und dass Du da dann auf dem Client-PC keine Malware ausführst. (Kerninfo)
    Zum Problem: Was genau ist da jetzt? Also Du brauchst den Pfad, oder? Den gibst Du ja als Parameter beim Downloaden an und damit kannst Du dann auch weiterarbeiten (siehe Process.Start).

    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 :!:
    Tut mir leid das ich noch nicht wirklich die Kenntnisse besitze.
    Was meinen sie mit Parameter beim Download ? Ich entschuldige mich vielmals für meine schlechten Kenntnisse..
    Also den Prozess starten weiß ich ja, bloß mein Problem besteht darin das ich nicht weiß wie ich beschreiben kann das die gedownloadete Datei die von meinen Server automatisch heruntergeladen wurde auf einem bestimmen Pfad im System gespeichert wird.
    Kein Ding, ist doch nicht schlimm. ;) Du kannst mich übrigens duzen.
    wc.DownloadFile(New System.Uri("Server"), "Pfad") speichert Dir die Datei bereits. Ist alles schon fertig, kannst ja mal ausprobieren. ;) Übrigens solltest Du den My-Namespace vermeiden. Das Äquivalent hier müsste ​Application.StartupPath sein, wenn ich nicht falsch damit liege, was das ergibt.
    Und Path.Combine wäre auch nützlich, dann musst Du nicht die Strings verbinden und die ganzen Slashes anhängen.

    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 :!:
    Bekomme immer wieder "Ausnahmefehler während einer WebClient-Anforderung." WebException.
    Habe bei Application.Startuppath und Path.Combine beides eine Fehlermeldung bekommen und deshalb habe ich es weg gelassen aber bekomme trotzdem den WebException fehler.

    Grüße
    Damit lässt sich nicht so viel anfangen. Was sagt die InnerException?

    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 :!: