/// <summary> /// Installs all meta-features loaded into the store which are not already installed. /// </summary> public void Install() { foreach (MetaFeature metaFeature in m_metaFeatures.Values) { IFeatureInstaller installer = metaFeature.Installer; Debug.Assert(installer != null); if (installer != null && !installer.IsInstalled(metaFeature)) { installer.Install(metaFeature); Debug.Assert(installer.IsInstalled(metaFeature)); } } }
/// <summary> /// Uninstalls all meta-features loaded into the store which are installed. /// </summary> public void Uninstall() { foreach (MetaFeature metaFeature in m_metaFeatures.Values) { IFeatureInstaller installer = metaFeature.Installer; Debug.Assert(installer != null); if (installer != null && installer.IsInstalled(metaFeature)) { installer.Uninstall(metaFeature); // TODO: for some features this doesn't work - then we shouldn't call Uninstall! // Debug.Assert(installer.IsInstalled(metaFeature)); } } }