Пример #1
0
        public void ThatRegistryDumpPointsRight()
        {
            var sut = new RegistryDump();

            Assert.That(sut.SubKeyName, Is.EqualTo(@"SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps"));
            var exist = sut.ExistKey();

            Assert.That(exist);
        }
Пример #2
0
        private static void ShowDump()
        {
            var dump = new RegistryDump();

            if (dump.ExistKey())
            {
                var state = dump.IsDumpEnabled? "enabled." : "disabled.";
                Console.WriteLine($"Dump is {state}");
                Console.WriteLine($"Current dumpfolder is: {dump.ReadDumpFolder()}");
            }
            else
            {
                Console.WriteLine("No dump key in registry, thus no dumps enabled");
            }
        }
Пример #3
0
        private static void FixFuslogAndDump(DiagnosticsCommands command)
        {
            try
            {
                if (command.HasDumpCommand && command.Fix)
                {
                    var dump   = new RegistryDump(true);
                    var enable = command.EnableDisableDump == 1;
                    if (enable)
                    {
                        dump.EnableDump();
                    }
                    else
                    {
                        dump.DisableDump();
                    }
                    Console.WriteLine(enable ? "Dump enabled" : "Dump disabled");
                }


                if (command.HasFuslogCommand && command.Fix)
                {
                    var fuslog = new RegistryFusLog();
                    var enable = command.EnableDisableFuslog == 1;
                    if (enable)
                    {
                        fuslog.Enable();
                    }
                    else
                    {
                        fuslog.Disable();
                    }
                    Console.WriteLine(enable ? "Fuslog enabled" : "Fuslog disabled");
                }

                if (command.Fix && command.DumpFolder.Length > 0)
                {
                    var dump = new RegistryDump();
                    if (command.DumpFolder != dump.ReadDumpFolder())
                    {
                        dump.SetDumpFolder(command.DumpFolder);
                        Console.WriteLine($"Dumpfolder set to {command.DumpFolder}");
                        if (!Directory.Exists(command.DumpFolder))
                        {
                            Directory.CreateDirectory(command.DumpFolder);
                        }
                    }
                    else
                    {
                        Console.WriteLine($"Dump folder not changed, already set to {command.DumpFolder}");
                    }
                }

                if (command.Fix && command.FuslogFolder.Length > 0)
                {
                    var fusLog = new RegistryFusLog();
                    if (command.DumpFolder != fusLog.ReadLogFolder())
                    {
                        fusLog.SetLogFolder(command.FuslogFolder);
                        Console.WriteLine($"Fuslog folder set to {command.FuslogFolder}");
                        if (!Directory.Exists(command.FuslogFolder))
                        {
                            Directory.CreateDirectory(command.FuslogFolder);
                        }
                    }
                    else
                    {
                        Console.WriteLine($"Fuslog folder  not changed, already set to {command.FuslogFolder}");
                    }
                }
            }
            catch (SecurityException)
            {
                Console.WriteLine("IFix needs to change your registry, please run from an elevated (admin) command prompt");
            }
        }