private static void Main(params string[] args)
{
if (args.Length == 0)
{
Console.WriteLine(Resources.Help);
Pause();
return;
}
if (args.Contains(Factory.FormFlag))
{
CommandLineBuilder form = new CommandLineBuilder();
form.ShowDialog();
return;
}
Console.WriteLine(Resources.NotifyStartMessage);
Factory factory = new Factory();
ExecutionInfo executionInfo = factory.CreateExecutationInfo();
// TODO: validate parameters
try
{
RegistryKey registryKey = branchRegistryKey[executionInfo.MainBranch];
registryKey = registryKey.OpenSubKey(executionInfo.PathToKey, true);
RegistryAccessRule registryAccessRule = new RegistryAccessRule(
executionInfo.User,
executionInfo.Permission,
executionInfo.InheritanceFlags,
executionInfo.PropagationFlags,
executionInfo.AccessControlType);
RegistrySecurity registrySecurity = new RegistrySecurity();
registrySecurity.SetAccessRule(registryAccessRule);
registryKey.SetAccessControl(registrySecurity);
Console.WriteLine(Resources.SuccessMessage);
}
catch (Exception ex)
{
Console.WriteLine("ERROR: {0}", ex.ToString());
}
Pause();
}