ved hjælp af koden
- CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp");
- string code =
- "using System; using System.IO; namespace update { class Program { static void Main(string[] args) { " +
- "File.Delete(\"MCQuai.exe\"); " +
- "File.Delete(\"MCQuai_.dll\"); " +
- "File.Move(\"memory/MCQuai.exe\", \"MCQuai.exe\"); " + //de opdaterde filer
- "File.Move(\"memory/MCQuai_.dll\", \"MCQuai_.dll\"); " + //er allerede i "memory"
- "if (File.Exists(\"MCQuai Gui.exe\")) File.Delete(\"MCQuai Gui.exe\"); " +
- "if (File.Exists(\"MCQuai CLI.exe\")) File.Delete(\"MCQuai CLI.exe\"); " +
- "if (File.Exists(\"MCQuai.dll\")) File.Delete(\"MCQuai.dll\"); " +
- "System.Diagnostics.Process.Start(\"MCQuai.exe\"); " +
- "} } }";
- CompilerParameters parameters = new CompilerParameters();
- parameters.GenerateExecutable = true;
- parameters.OutputAssembly = "updater.exe";
- CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, code);
-
- if (results.Errors.Count > 0)
- {
- foreach (CompilerError CompErr in results.Errors)
- {
- MessageBox.Show("Line number " + CompErr.Line +
- ", Error Number: " + CompErr.ErrorNumber +
- ", '" + CompErr.ErrorText + ";");
- }
- }
-
- Process.Start("updater.exe");
- Server.process.Kill();
skulle jeg kunne slukke min server, updatere den, og lade den starte op igen.
Men jeg har det problem, at compileren siger at der ikke er noget der hedder "System.Diagnostics.Process".
Og så tænkte jeg på om der var nogle her inde på Udvikleren.dk der kunne hjælpe mig med enten at gøre noget andet eller fixe det.