Set Outlook security registry keys for all Office versions
Apply to both 16.0 (2016-2024/365) and 15.0 (2013) registry paths. Costs nothing and ensures it works regardless of which Office version is installed. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d89e36b962
commit
ca17e5d433
|
|
@ -41,39 +41,42 @@ namespace StarfaceOutlookSync.Models
|
|||
|
||||
public void ApplyOutlookSecuritySetting()
|
||||
{
|
||||
try
|
||||
{
|
||||
var regPath = @"Software\Policies\Microsoft\Office\16.0\Outlook\Security";
|
||||
// Alle Office-Versionen abdecken (16.0 = 2016/2019/2021/2024/365, 15.0 = 2013)
|
||||
var versions = new[] { "16.0", "15.0" };
|
||||
|
||||
if (AutoAcceptOutlookPrompt)
|
||||
foreach (var ver in versions)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Alle Outlook Object Model Guard Prompts unterdruecken
|
||||
var key = Registry.CurrentUser.CreateSubKey(regPath);
|
||||
key.SetValue("ObjectModelGuard", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMAddressBookAccess", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMAddressInformationAccess", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMSend", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMSaveAs", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMFormulaAccess", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMCustomAction", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptSimpleMAPISend", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptSimpleMAPINameResolve", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptSimpleMAPIOpenMessage", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("AdminSecurityMode", 3, RegistryValueKind.DWord);
|
||||
key.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Zurueck auf Standard (Werte loeschen)
|
||||
try
|
||||
var regPath = $@"Software\Policies\Microsoft\Office\{ver}\Outlook\Security";
|
||||
|
||||
if (AutoAcceptOutlookPrompt)
|
||||
{
|
||||
// Kompletten Security-Schluessel entfernen
|
||||
Registry.CurrentUser.DeleteSubKey(regPath, false);
|
||||
var key = Registry.CurrentUser.CreateSubKey(regPath);
|
||||
key.SetValue("ObjectModelGuard", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMAddressBookAccess", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMAddressInformationAccess", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMSend", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMSaveAs", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMFormulaAccess", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptOOMCustomAction", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptSimpleMAPISend", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptSimpleMAPINameResolve", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("PromptSimpleMAPIOpenMessage", 2, RegistryValueKind.DWord);
|
||||
key.SetValue("AdminSecurityMode", 3, RegistryValueKind.DWord);
|
||||
key.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
Registry.CurrentUser.DeleteSubKey(regPath, false);
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue