VB mehrere dateien aus resources entpacken?

  • Sonstige

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    VB mehrere dateien aus resources entpacken?

    Guten Morgen an alle :)

    Ich wollte einen Patcher erstellen, der gewisse Dateien speichert in einem pfad wie zb in C:\
    Das alles sollte vorallem Offline machbar sein. Damit der User nicht zwingend mit dem Internet verbunden sein muss.

    Ich habe jetzt nächtelang gesucht und gegoogelt und fand schlussendlich diesen Befehl:

    Sobald der Progressbar fertig geladen hat endet der Timer:
    Und wenn der Timer endet schreibt er die "exe Datei" in das gewünschte Verzeichnis.

    Quellcode

    1. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    2. Front1.Width += 5
    3. If Front1.Width = "100" Then
    4. Info1.Text = "In progress..."
    5. End If
    6. If Front1.Width = "295" Then
    7. Timer1.Stop()
    8. Info1.Text = "Patch sucessfull to prepare..."
    9. Dim i As New System.IO.FileStream("H:\plugins.exe", IO.FileMode.OpenOrCreate)
    10. i.Write(My.Resources.plugins, 0, My.Resources.plugins.Length)
    11. i.Close()
    12. End If
    13. End Sub


    So das funktionierte auch prima.

    Jetzt aber zu meinem Problem:

    Ich möchte jetzt mehre Dateien aus resources extrahieren und zwar gleichzeitig.
    Oder gleich einen gesammten Ordner.
    Denn je nach Programm/Tool gibt es mehr als nur eine Datei zu ersetzen.
    zb. info.txt, readme.txt und plugin.exe
    Der Ordner der im C:\ Verzeichnis schon vorhanden ist heisst zb "IL Plugins"
    Jetzt möchte ich das die Dateien in das gewünschte Verzeichnis extrahiert werden.

    Ob nun der Ordner "IL Plugins" ersetzt wird durch die Aktion oder nur der Inhalt spielt eigentlich keine rolle.


    Wie wäre das nun realisierbar?
    Oder noch besser wäre wenn man den Pfad selbst wählen könnte wie zb. bei SaveFileDialoge..

    denn auf diese Weise klappte es leider nicht ^^

    Quellcode

    1. Dim i As New System.IO.FileStream("H:\plugins.exe", IO.FileMode.OpenOrCreate)
    2. i.Write(My.Resources.plugins, 0, My.Resources.plugins.Length)
    3. i.Close()
    4. Dim i As New System.IO.FileStream("H:\info.txt", IO.FileMode.OpenOrCreate)
    5. i.Write(My.Resources.info, 0, My.Resources.wargame2.Length)
    6. i.Close()
    7. Dim i As New System.IO.FileStream("H:\readme.txt", IO.FileMode.OpenOrCreate)
    8. i.Write(My.Resources.readme, 0, My.Resources.readme.Length)
    9. i.Close()


    :/

    So sollte der Patcher aussehn "ganz simple"


    Ich danke schon im voraus sehr höflich :)

    mfg virus

    ps. hoffe hab das Thema im richtigen Bereich eröffnet.

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

    Ehm.. wie darf ich das jetzt verstehen?
    Und vorallem suche ich doch eine Lösung für mein Problem ^^

    "VBA kennt weder den My-Namespace noch Resources."

    Da werd ich leider jetzt nicht schlau draus...

    Falses also am falschen Ort ist bitte ich einen Mod es zu verschieben.. klar das da sonst niemand antwortet ^^

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „odbvirus“ ()

    ErfinderDesRades - Moderator - Notiz: Hallo odbvirus!
    Sowas ist im wesentlichen Trojaner-Verhalten, wenn versucht wird, eine ausführbare Datei in den ProgrammResourcen zu verstecken, und zur Laufzeit dann auf dem Zielrechner auszubringen.
    Überleg dir eine für die User transparentere Methode, deine Zweit-Exe zu verteilen.
    --> closed