Entwickler-Ecke

IO, XML und Registry - txt in den Dateiressourcen erzeugen


Ccenter - Di 19.01.10 18:47
Titel: txt in den Dateiressourcen erzeugen
Hallo,
ich möchte gerne per StreamWriter eine txt in die dateieigenen Ressourcen schreiben.

Das geht aber nicht:

C#-Quelltext
1:
2:
3:
4:
using (StreamWriter sw = new StreamWriter(global::WindowsFormsApplication1.Properties))
            {
                sw.Write("test");
            }


Wie würde das funktionieren?


jaenicke - Di 19.01.10 18:53

Deine Exe läuft gerade, da kannst du diese nicht selbst verändern.


Ccenter - Di 19.01.10 20:33

gut ok, dann in eine andere exe.
ich würde dann vorher eine exe in die ressourcen ziehen welche sich dann rauskopieren lässt, gestartet wird und dann die aufgaben übernimmt zusätzlich schließt die die originale exe. so hab ich das bei anderen programmen auch gelöst welche zur laufzeit nicht hätten verändert werden können.


jaenicke - Di 19.01.10 21:07

So ähnlich habe ich das auch gemacht. Das einfachste ist da denke ich die Daten einfach an die Exe anzuhängen, zusammen mit der Größe und einem Erkennungscode am Ende. Daran erkennst du ob etwas angehängt ist und wie groß der Anhang ist. So hast du die volle Kontrolle darüber und musst dich nicht mit echten Ressourcen und deren Änderung herumschlagen.

Allerdings muss dir klar sein, dass Virenscanner darauf sehr allergisch reagieren. Deshalb ist eine Datenspeicherung in der Exe nur in Ausnahmefällen sinnvoll, nicht für ein normales Programm.