Hallo,
vor 3 Jahren hat es diese Diskussion gegeben: StreamWriter und Umlaute
Auch ich habe dieses Ausgangs-Problem. Ich soll aber eine Textdatei erzeugen, die DIN66003-kodiert ist, damit ein altbackenes aber unverzichtbares Programm die Datei einlesen kann. DIN66003 wird recht schön hier erklärt: DIN 66003
Der fehlerhafte Code:
objStreamWriter = new StreamWriter(strFile, true, Encoding.ASCII);
objStreamWriter.Write(_objStringBuilder.ToString());
objStreamWriter.Close();
Natürlich ist Encoding "ASCII" nicht DIN66003, das war ja eine deutsche Besonderheit. Wie bekommt man so etwas hin?
Vermutlich hat jeder, der dieses liest, in seinem Leben bereits einige 100 Installationen durchgeführt, deren Installationsroutinen mit InnoSetup erstellt wurden. Und dabei waren vermutlich auch eine Menge, deren Programme mit Visual Studio erstellt wurden... Und das obwohl die Skriptsprache (die man nicht zwingend benötigt) in InnoSetup auf Pascal basiert. Wer ein absolut professionelles (weil zuverlässiges) Tool sucht, dass auch von Amateuren sofort zu erlernen ist, kommt an InnoSetup kaum vorbei...
Näheres gibt's hier: Inno Setup
Am besten beide Tools Inno Setup Downloads (stable) und ISTool: Grafische Entwicklungsumgebung zum Erstellen und Bearbeiten von Inno-Setup-Installationsskripten herunterladen und ausprobieren!