private static RegistryKey GetRegistryKey(String name, RegistryConfigurationScope scope)
        {
            switch (scope)
            {
            case RegistryConfigurationScope.Machine:
            {
                return(!String.IsNullOrEmpty(name) ? Registry.LocalMachine.CreateSubKey(name) : Registry.LocalMachine);
            }

            case RegistryConfigurationScope.User:
            {
                return(!String.IsNullOrEmpty(name) ? Registry.CurrentUser.CreateSubKey(name) : Registry.CurrentUser);
            }

            default:
            {
                return(null);
            }
            }
        }
 public RegistryConfigurationProcessor(String root, RegistryConfigurationScope scope)
 {
     this.RootPath = Path.Combine(@"Software", root);
     this.Scope    = scope;
 }