Annotation of cleanflash/CleanFlashCommon/RegistryManager.cs, revision 1.1.1.1

1.1       root        1: using System.Collections.Generic;
                      2: using System.Diagnostics;
                      3: using System.IO;
                      4: using System.Text;
                      5: 
                      6: namespace CleanFlashCommon {
                      7:     public class RegistryManager {
                      8: 
                      9:         public static void ApplyRegistry(string registryContents) {
                     10:             registryContents = "Windows Registry Editor Version 5.00\n\n" + SystemInfo.FillString(registryContents);
                     11:             string filename = Path.GetTempFileName();
                     12: 
                     13:             File.WriteAllText(filename, registryContents, Encoding.Unicode);
                     14: 
                     15:             Directory.SetCurrentDirectory(Path.GetDirectoryName(filename));
                     16: 
                     17:             ExitedProcess process = ProcessRunner.RunProcess(
                     18:                 new ProcessStartInfo {
                     19:                     FileName = "reg.exe",
                     20:                     Arguments = "import " + Path.GetFileName(filename),
                     21:                     UseShellExecute = false,
                     22:                     CreateNoWindow = true
                     23:                 }
                     24:             );
                     25: 
                     26:             File.Delete(filename);
                     27: 
                     28:             if (!process.IsSuccessful) {
                     29:                 throw new InstallException(string.Format("Failed to apply changes to registry: error code {0}\n\n{1}", process.ExitCode, process.Output));
                     30:             }
                     31:         }
                     32: 
                     33:         public static void ApplyRegistry(List<string> registryContents) {
                     34:             ApplyRegistry(string.Join("\n\n", registryContents));
                     35:         }
                     36: 
                     37:         public static void ApplyRegistry(params string[] registryContents) {
                     38:             ApplyRegistry(string.Join("\n\n", registryContents));
                     39:         }
                     40:     }
                     41: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.