public static ActionResult UnRegisterOutlookAddin(Session session) { session.Log("Begin UnRegisterOutlookAddin"); try { OsBitness osBitness = GetOsBitness(); session.Log("OS bitness is : " + osBitness.ToString()); OfficeBitness officeBitness = GetOfficeBitness(osBitness); session.Log("Office bitness is : " + officeBitness.ToString()); OfficeRelease officeRelease = GetOfficeRelease(osBitness); session.Log("Office release is : " + officeRelease.ToString()); session.Log("Unregistering Outlook Addin…"); UnRegisterAddin(osBitness, officeBitness); session.Log("Unwhitelisting Addin…"); UnWhitelistAddin(osBitness, officeBitness, officeRelease); } catch (Exception ex) { session.Log("An error occurs while unregistering Outlook Addin : " + ex.Message); } return(ActionResult.Success); }
private static void UnWhitelistAddin(OsBitness osBitness, OfficeBitness officeBitness, OfficeRelease officeRelease) { try { RegistryKey HKLM = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, (officeBitness == OfficeBitness.Office32 ? RegistryView.Registry32 : RegistryView.Registry64)); RegistryKey officeKey = null; switch (officeRelease) { case OfficeRelease.Office2013: officeKey = HKLM.OpenSubKey(@"SOFTWARE\Microsoft\Office\15.0\Outlook\Resiliency\DoNotDisableAddinList", true); break; case OfficeRelease.Office2016: officeKey = HKLM.OpenSubKey(@"SOFTWARE\Microsoft\Office\16.0\Outlook\Resiliency\DoNotDisableAddinList", true); break; } if (officeKey != null) { officeKey.DeleteValue("SmartSingularity.PstBackupAddin", false); officeKey.Close(); } HKLM.Close(); } catch (Exception) { } }
private static void WhitelistAddin(OsBitness osBitness, OfficeBitness officeBitness, OfficeRelease officeRelease) { RegistryKey HKLM = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, (officeBitness == OfficeBitness.Office32 ? RegistryView.Registry32 : RegistryView.Registry64)); RegistryKey officeKey = null; switch (officeRelease) { case OfficeRelease.Office2010: officeKey = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Office\14.0\Outlook\Resiliency\DoNotDisableAddinList", true); break; case OfficeRelease.Office2013: officeKey = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Office\15.0\Outlook\Resiliency\DoNotDisableAddinList", true); break; case OfficeRelease.Office2016: officeKey = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Office\16.0\Outlook\Resiliency\DoNotDisableAddinList", true); break; } officeKey.SetValue("SmartSingularity.PstBackupAddin", (object)1, RegistryValueKind.DWord); officeKey.Close(); HKLM.Close(); }