Когда я добавляю службу в Windows вручную, набираю в CMD что-то вроде этого:
"C: \ Program Files (x86) \ Windows Resource Kits \ Tools \ instsrv.exe" "some-pl-char-ąźńćńół" "C: \ Program Files (x86) \ Windows Resource Kits \ Tools \ srvany.exe "
... все хорошо с именем службы, но когда я пытаюсь сделать это в c #:
ProcessStartInfo startInfo = new ProcessStartInfo();
Process myprocess = new Process();
startInfo.FileName = "cmd";
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
myprocess.StartInfo = startInfo;
myprocess.Start();
StreamWriter sw = myprocess.StandardInput;
StreamReader sr = myprocess.StandardOutput;
Thread.Sleep(200);
string command = ...
^ "C:\Program Files (x86)\Windows Resource Kits\Tools\instsrv.exe" "some-pl-char-ąźńćńół" "C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"
sw.WriteLine(command);
sw.WriteLine("exit");
Thread.Sleep(200);
sw.Close();
sr.Close();
тогда название создаваемого сервиса: some-pl-char-¦č˝Š˝ˇ-
Почему существует проблема с кодовой страницей?
Есть что-то вроде StandardInputEncoding для ProcessStartInfo?
Моя активная кодовая страница в CMD (с использованием chcp) - 852. (Польский)