示例#1
0
        public override bool PerformTreatment()
        {
            try
            {
                using (DismSession session = DismApi.OpenOnlineSession())
                {
                    try
                    {
                        DismApi.DisableFeature(session, resolvedFeatureName, null, true);
                    }
                    catch (DismRebootRequiredException ex)
                    {
                        Logger.Log("Successfully disabled Internet Explorer 11. {0}", ex.Message);
                        return(true);
                    }

                    Logger.Log("Successfully disabled Internet Explorer 11.");
                    return(true);
                }
            }
            catch (Exception ex)
            {
                Logger.Log("An error occurred while disabling Internet Explorer: {0}", ex.Message);
            }

            return(false);
        }
示例#2
0
        public void PerformTreatment()
        {
            string featureName;

            if (Environment.Is64BitOperatingSystem)
            {
                featureName = IE64BitName;
            }
            else
            {
                featureName = IE32BitName;
            }

            try
            {
                using (DismSession session = DismApi.OpenOnlineSession())
                {
                    DismFeatureInfo info = DismApi.GetFeatureInfo(session, featureName);
                    if (
                        info.FeatureState == DismPackageFeatureState.NotPresent ||
                        info.FeatureState == DismPackageFeatureState.Removed ||
                        info.FeatureState == DismPackageFeatureState.Staged)
                    {
                        logger.Log("Internet Explorer 11 is not present on the system.");
                        return;
                    }

                    if (info.FeatureState == DismPackageFeatureState.UninstallPending)
                    {
                        logger.Log("Internet Explorer 11 is already pending uninstall.");
                        return;
                    }

                    try
                    {
                        logger.Log("Disabling Internet Explorer 11...");
                        DismApi.DisableFeature(session, featureName, null, true);
                    }
                    catch (DismRebootRequiredException ex)
                    {
                        logger.Log("Successfully disabled Internet Explorer 11. {0}", ex.Message);
                        return;
                    }

                    logger.Log("Successfully disabled Internet Explorer 11.");
                }
            }
            catch (Exception ex)
            {
                logger.Log("An error occurred while disabling Internet Explorer: {0}", ex.Message);
            }
        }