Reg Datei aus Resourcen exportieren und eintragen

  • VB.NET

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

    Reg Datei aus Resourcen exportieren und eintragen

    Hallo Leute,

    Ich stehe noch gaaaanz am Anfang mit meinen Programmier-Kenntnissen und bin bis jetzt ehr der "Tüftler" ;)

    Jetzt habe ich aber ein Problem bei dem ihr mir hoffentlich helfen könnt....Folgende Situation:

    In den Resources befindet sich eine von mir erstellte Reg-Datei die Mithilfe von:

    Quellcode

    1. Dim binaryw As New System.IO.BinaryWriter(New IO.FileStream("C:\Tweaks.reg", IO.FileMode.Create))
    2. binaryw.Write(My.Resources.Tweaks)
    3. binaryw.Close()


    Auf Button-Druck exportiert wird, wie ihr seht in C:\
    Das funktioniert auch tadellos, allerdings wird am Anfang IN der Reg-Datei unglücklicherweise ein Bindestrich und ein Leerzeichen vor "Windows Registry Editor Version 5.00" eingefügt, sodass die Datei sich nicht direkt öffnen lässt...
    Die Reg-Datei soll im selben Zug dann ausgeführt werden mit:

    Quellcode

    1. Dim p As Process = New Process
    2. Dim ps As ProcessStartInfo = New ProcessStartInfo
    3. ps.FileName = "regedit"
    4. ps.Arguments = "/S C:\Tweaks.reg"
    5. p.StartInfo = ps
    6. p.Start()


    Kann mir jemand sagen wie ich VS dazu bewege diesen Bindestrich und das Leerzeichen weg zu lassen?

    Gruß Master_3

    P.S.: Im Anhang mal ein Bild der Reg-Datei...dort seht ihr was ich meine ...
    Bilder
    • VS.jpg

      126,21 kB, 1.435×308, 126 mal angesehen
    Hi,

    Ich könnte, aber dann kann ich genauso gut einfach die Reg Datei als Orginal behalten und diese Ausführen.
    Ich will aber mit VS arbeiten damit das ganze etwas hübscher aussieht:

    Button Klick
    - Reg datei Extrahieren
    - Reg Datei Ausführen
    - Hinweis auf Nötigen Reboot
    - Reboot Button

    ;)

    Nur haut mir VS eben nach Schritt 1 diesen Bindestrich rein und damit sind alle anderen Schritte hinfällig, weils nicht geht....
    Den Anfang der Tweaks.Reg siehste im Anhang meines ersten Posts, es sind mehrere Registery Einträge, die das Leben mit Windows einfacher machen ;)

    Wie kommt es dazu?
    Genau das will ich wissen, bzw wie ich dies verhindern kann :thumbsup:
    Achso:

    Ich habe ganz einfach in VS unter Resourcen die Tweaks.reg, vom Destop importiert, und daher nimmt er sich die Info´s, bzw aus dem Project/Resourcen Ordner
    Wenn ich diese in VS öffne (doppelklick) steht dort auch kein BS oder Leerzeile o_O
    Kann es sein, dass die Daten als ASCII-Daten vorliegen und Du Unicode draus machst?
    Gib da mal ein Encoding vor beim Extrahieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ouh jetzt fragste aber Sachen xD

    Im Grundegenomen erstellt VS ja eine leere Tweak.reg und schreibt in diese den Inhalt aus der Tweak.reg die in den Resources in VS hinterlegt ist...

    Wenn ja, wozu?
    Weil ich keine Andere möglichkeit kenne und bisher damit gut gefahren bin^^


    @RodFromGermany:
    Euh ich bin mir nicht sicher was du meinst: Also das war mal eine stinknormale .txt Datei in die die Reg-Schlüssel eingetragen wurden und dann aus Tweak.txt Tweak.reg umbenannt wurde
    Hmmm

    Wie mache ich das?
    Habe gerade

    Quellcode

    1. Dim binaryw As New System.IO.BinaryWriter(New IO.FileStream("C:\Tweaks.reg", IO.FileMode.Create))
    2. binaryw.Write(My.Resources.Tweaks)
    3. binaryw.Close()


    in

    Quellcode

    1. Dim binaryw As New System.IO.BinaryWriter(New IO.FileStream("C:\Tweaks.reg", IO.FileMode.Create))
    2. binaryw.Write("C:\blblblb\Tweaks.reg")
    3. binaryw.Close()


    umgeändert, aber dann schreibt er mir den Pfad in die reg-Datei xD


    Was wäre denn wenn ich die Reg-Schlüssel als txt Datei in den Resources hinterlege und diese als Reg ausgeben lasse? Trotzdem Bindestrich und Leerzeichen

    VB.NET-Quellcode

    1. Dim s As String = ""
    2. Using objReader As New StreamReader("Test\Tweaks.reg")'pack die Datei in den Ordner Test im Debug Ordner
    3. s = objReader.ReadToEnd
    4. objReader.Close()
    5. End Using
    6. Using objWriter As New StreamWriter("Test\Tweaks_neu.reg")
    7. objWriter.Write(s)
    8. objWriter.Close()
    9. End Using
    Aber wie kann ich denn jetzt die Reg-Datei einbinden, ich will diese ja nicht nur auf meinem PC ausführen können, sondern auch auf anderen PC´s wo es die orginal Tweak.reg nicht gibt :huh:

    Sorry für die vielen Anfänger Fragen so früh am Morgen :pinch: