private void DoRegister(bool allUsers) { try { if (!allUsers) { OverrideHKCR(); } var rs = new RegistrationServices(); rs.RegisterAssembly(Assembly.LoadFrom(Path.Combine(crtDir, @"KeContextMenuHandler.dll")), AssemblyRegistrationFlags.SetCodeBase); ShellExtensionManager.RegisterShellExtContextMenuHandler(allUsers); if (!allUsers) { OverrideHKCR(true); } } catch (Exception e) { MessageBox.Show(this, e.Message + "\r\n\r\n" + e.StackTrace); } }
private void Form1_Load(object sender, EventArgs e) { if (Environment.OSVersion.Version.CompareTo(new Version(6, 0)) <= 0) { MessageBox.Show(this, "Sorry, KrkrExtract is only for Windows 7, 8/8.1 and 10.", "OS Outdated", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(0); } Text += " - V" + GetKeVersion(); if (IsAdministrator()) { Text += " (Administrator)"; InstallAll.Enabled = false; } AddShieldToButton(InstallAll); AddShieldToButton(UninstallAll); UninstallUser.Enabled = ShellExtensionManager.IsInstalled(false); UninstallAll.Enabled = ShellExtensionManager.IsInstalled(true); switch (Cmd) { case Command.KeInstallUser: InstallUser.PerformClick(); break; case Command.keUninstallUser: UninstallUser.PerformClick(); break; case Command.KeInstallAll: InstallAll.PerformClick(); break; case Command.KeUnInstallAll: UninstallAll.PerformClick(); break; } }