Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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) { }
        }
Exemplo n.º 3
0
        private static void RegisterAddin(OsBitness osBitness, OfficeBitness officeBitness)
        {
            string      manifestLocation = osBitness == OsBitness.OS64 ? @"file:///C:/Program Files (x86)/Pst Backup/SmartSingularity.PstBackupAddin.vsto|vstolocal" : @"file:///C:/Program Files/Pst Backup/SmartSingularity.PstBackupAddin.vsto|vstolocal";
            RegistryKey HKLM             = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, (officeBitness == OfficeBitness.Office32 ? RegistryView.Registry32 : RegistryView.Registry64));
            RegistryKey officeKey        = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Office\Outlook\Addins", true);
            RegistryKey addinKey         = officeKey.CreateSubKey("SmartSingularity.PstBackupAddin", true);

            addinKey.SetValue("Description", (object)"Automatically backup your PST files at closing.", RegistryValueKind.String);
            addinKey.SetValue("FriendlyName", (object)"Pst Backup", RegistryValueKind.String);
            addinKey.SetValue("LoadBehavior", (object)3, RegistryValueKind.DWord);
            addinKey.SetValue("Manifest", (object)manifestLocation, RegistryValueKind.String);

            addinKey.Close();
            officeKey.Close();
            HKLM.Close();
        }
Exemplo n.º 4
0
        private static void UnRegisterAddin(OsBitness osBitness, OfficeBitness officeBitness)
        {
            try
            {
                RegistryKey HKLM      = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, (officeBitness == OfficeBitness.Office32 ? RegistryView.Registry32 : RegistryView.Registry64));
                RegistryKey officeKey = HKLM.OpenSubKey(@"SOFTWARE\Microsoft\Office\Outlook\Addins", true);

                if (officeKey != null)
                {
                    officeKey.DeleteSubKey("SmartSingularity.PstBackupAddin", true);
                    officeKey.Close();
                }

                HKLM.Close();
            }
            catch (Exception) { }
        }
Exemplo n.º 5
0
        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();
        }