private bool CheckGitExtensionRegistrySettings()
{
if (!Settings.RunningOnWindows())
return true;
ShellExtensionsRegistered.Visible = true;
if (
string.IsNullOrEmpty(GetRegistryValue(Registry.LocalMachine, "Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved", "{3C16B20A-BA16-4156-916F-0A375ECFFE24}")) ||
string.IsNullOrEmpty(GetRegistryValue(Registry.ClassesRoot, "*\\shellex\\ContextMenuHandlers\\GitExtensions2", null)) ||
string.IsNullOrEmpty(GetRegistryValue(Registry.ClassesRoot, "Directory\\shellex\\ContextMenuHandlers\\GitExtensions2", null)) ||
string.IsNullOrEmpty(GetRegistryValue(Registry.ClassesRoot, "Directory\\Background\\shellex\\ContextMenuHandlers\\GitExtensions2", null)))
{
ShellExtensionsRegistered.BackColor = Color.LightSalmon;
ShellExtensionsRegistered.Text = "GitExtensionsShellEx.dll needs to be registered in order to use the shell extensions.";
return false;
}
ShellExtensionsRegistered.BackColor = Color.LightGreen;
ShellExtensionsRegistered.Text = "Shell extensions registered properly.";
return true;
}