diff --git a/src/StarfaceOutlookSync/Models/UserSettings.cs b/src/StarfaceOutlookSync/Models/UserSettings.cs index c02d868b..125f9723 100644 --- a/src/StarfaceOutlookSync/Models/UserSettings.cs +++ b/src/StarfaceOutlookSync/Models/UserSettings.cs @@ -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 { } } } }