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); }
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); } }