private static void EnableEsriLiscences() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop); ESRI.ArcGIS.RuntimeManager.BindLicense(ESRI.ArcGIS.ProductCode.Desktop); UID pUid = new UIDClass(); pUid.Value = "esriSpatialAnalystUI.SAExtension"; // Add Spatial Analyst extension to the license manager. object v = null; IExtensionManagerAdmin extensionManagerAdmin = new ExtensionManagerClass(); extensionManagerAdmin.AddExtension(pUid, ref v); // Enable the license. IExtensionManager extensionManager = (IExtensionManager)extensionManagerAdmin; IExtension extension = extensionManager.FindExtension(pUid); IExtensionConfig extensionConfig = (IExtensionConfig)extension; if (extensionConfig.State != esriExtensionState.esriESUnavailable) { extensionConfig.State = esriExtensionState.esriESEnabled; } else { Console.WriteLine("No Spatial Analyst License available"); } }
private void ToggleSA(bool toggle) { UID puid = new UID(); puid.Value = "esriGeoAnalyst.SAExtension.1"; object v = 0; IExtensionManagerAdmin pLicAdmin = new ExtensionManagerClass(); pLicAdmin.AddExtension(puid, ref v); IExtensionManager pLicManager = pLicAdmin as IExtensionManager; IExtensionConfig pExtensionConfig = pLicManager.FindExtension(puid) as IExtensionConfig; if (toggle) { pExtensionConfig.State = esriExtensionState.esriESEnabled; } else { pExtensionConfig.State = esriExtensionState.esriESDisabled; } }