/// <summary>forcefully removes a feature definition from the farm feature definition collection</summary>
        /// <param name="id">Feature Definition ID</param>
        public static int Uninstall(Guid id, int compatibilityLevel, bool force, out Exception exception)
        {
            var processingCounter = 0;

            exception = null;

            try
            {
                var featureDefinitions       = FarmRead.GetFeatureDefinitionCollection();
                var featureDefinitionsBefore = featureDefinitions.Count;
#if (SP2013)
                {
                    featureDefinitions.Remove(id, compatibilityLevel, force);
                }
#else
                {
                    featureDefinitions.Remove(id, force);
                }
#endif
                processingCounter = featureDefinitionsBefore - featureDefinitions.Count;

                if (processingCounter > 0)
                {
                    SingletonDb.Singleton.InMemoryDb.RemoveUninstalledFeatureDefinition(id);
                }
            }
            catch (Exception ex)
            {
                exception = ex;
            }
            return(processingCounter);
        }
Beispiel #2
0
        private List <FeatureDefinition> LoadAllFeatureDefinitions()
        {
            var spDefs = FarmRead.GetFeatureDefinitionCollection();

            return(FeatureDefinition.GetFeatureDefinition(spDefs));
        }