Пример #1
0
        public void DisableExtensions(IApplication app)
        {
            try
            {
                IExtensionManager    pExtManager = app as IExtensionManager;
                IExtensionConfig     pExtConfig;
                IJITExtensionManager jitExtManager = app as IJITExtensionManager;
                //Custom Extensions
                for (int i = 0; i < pExtManager.ExtensionCount; i++)
                {
                    IExtension ext = pExtManager.Extension[i];
                    pExtConfig = ext as IExtensionConfig;
                    if (pExtConfig != null)
                    {
                        pExtConfig.State = esriExtensionState.esriESDisabled;
                    }
                }
                //OOTB Extensions (3d Analyst, Spatial Analyst, etc)
                for (int i = 0; i < jitExtManager.JITExtensionCount; i++)
                {
                    UID extID = jitExtManager.get_JITExtensionCLSID(i);
                    if (jitExtManager.IsExtensionEnabled(extID))
                    {
                        Console.WriteLine("Extension with clsid {0} is enabled", extID.Value);
                        IExtension ext = app.FindExtensionByCLSID(extID);

                        if (ext != null)
                        {
                            pExtConfig = ext as IExtensionConfig;
                            if (pExtConfig != null)
                            {
                                pExtConfig.State = esriExtensionState.esriESDisabled;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //Write to log.
                Console.WriteLine(String.Format("Extensions could not be released: {0}", ex.Message));
            }
        }
        public void DisableExtensions(IApplication app)
        {
            try
            {
                IExtensionManager    pExtManager = app as IExtensionManager;
                IExtensionConfig     pExtConfig;
                IJITExtensionManager jitExtManager = app as IJITExtensionManager;


                for (int i = 0; i < pExtManager.ExtensionCount; i++)
                {
                    IExtension ext = pExtManager.Extension[i];
                    pExtConfig = ext as IExtensionConfig;
                    if (pExtConfig != null)
                    {
                        pExtConfig.State = esriExtensionState.esriESDisabled;
                    }
                }
                for (int i = 0; i < jitExtManager.JITExtensionCount; i++)
                {
                    UID        extID = jitExtManager.get_JITExtensionCLSID(i);
                    IExtension ext   = app.FindExtensionByCLSID(extID);

                    if (ext != null)
                    {
                        pExtConfig = ext as IExtensionConfig;
                        if (pExtConfig != null)
                        {
                            pExtConfig.State = esriExtensionState.esriESDisabled;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(String.Format("Extensions could not be released: {0}", ex.Message));
            }
        }