public static bool LoadAdvanceLicense(bool isLoadSpatialAnalyst, bool isLoadCodeNetwork, out string ErrorMessage) { bool result = true; ErrorMessage = ""; //检测ArcGIS授权 if (!RuntimeManager.Bind(ProductCode.EngineOrDesktop)) { ErrorMessage = "请确认ArcGIS的许可安装正确有效!"; return(false); } IAoInitialize aoInitialize = new AoInitialize(); try { esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable; licenseStatus = aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { licenseStatus = aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { ErrorMessage = "获取ARCGIS授权失败"; return(false); } } ////盗版使用的授权 licenseStatus = aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcServer); // 迁出空间分析扩展模块 if (isLoadSpatialAnalyst) { if (aoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst) != esriLicenseStatus.esriLicenseCheckedOut) { ErrorMessage = "获取空间分析扩展模块授权失败!"; return(false); } } // 迁出网络分析扩展模块 if (isLoadCodeNetwork) { if (aoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeNetwork) != esriLicenseStatus.esriLicenseCheckedOut) { ErrorMessage = "获取网络分析扩展模块授权失败!"; return(false); } } } catch (Exception ex) { result = false; ErrorMessage = ex.Message; } return(result); }
public static void initlicense() { AoInitialize aoi = new AoInitialize(); esriLicenseExtensionCode extensionCodes = esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst; //这是解决的办法 esriLicenseExtensionCode extensionCode = esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst; esriLicenseProductCode pro = esriLicenseProductCode.esriLicenseProductCodeEngine; if (aoi.IsProductCodeAvailable(pro) == esriLicenseStatus.esriLicenseAvailable && aoi.IsExtensionCodeAvailable(pro, extensionCode) == esriLicenseStatus.esriLicenseAvailable && aoi.IsExtensionCodeAvailable(pro, extensionCodes) == esriLicenseStatus.esriLicenseAvailable ) { aoi.Initialize(pro); aoi.CheckOutExtension(extensionCode); aoi.CheckOutExtension(extensionCodes); } }
private static bool checkLicense() { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); IAoInitialize m_AoInitialize = new AoInitialize(); esriLicenseStatus licenseStatus = (esriLicenseStatus)m_AoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { licenseStatus = (esriLicenseStatus)m_AoInitialize.IsExtensionCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine, esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst); if (licenseStatus == esriLicenseStatus.esriLicenseAvailable) { licenseStatus = (esriLicenseStatus)m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);//esriLicenseProductCodeEngine); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { XtraMessageBox.Show("The initialization failed. This application cannot run!"); return(false); } else { licenseStatus = (esriLicenseStatus)m_AoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeDesigner); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { XtraMessageBox.Show("Unable to check out the Designer extension. This application cannot run!"); return(false); } else { licenseStatus = (esriLicenseStatus)m_AoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); if (licenseStatus != esriLicenseStatus.esriLicenseCheckedOut) { XtraMessageBox.Show("Unable to check out the Designer extension. This application cannot run!"); return(false); } } } } return(true); } else { XtraMessageBox.Show("The ArcGIS Engine product is unavailable. This application cannot run!"); return(false); } }
static void Main(string[] args) { ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop); IAoInitialize aoInit = new AoInitialize(); esriLicenseStatus licStat = aoInit.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine); licStat = aoInit.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCodeSpatialAnalyst); CreateMathFunctionRasterDataset(); aoInit.Shutdown(); }
public static void Initailize3D() { RuntimeManager.Bind(ProductCode.EngineOrDesktop); IAoInitialize iao = new AoInitialize(); iao.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB); if ((iao.IsExtensionCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB, esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst) == esriLicenseStatus.esriLicenseAvailable) && (iao.IsExtensionCheckedOut(esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst) == true)) { iao.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst); } }
static void AoInitializeFirst() { try { m_AoInitialize = new AoInitializeClass(); esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable; licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced); m_AoInitialize.CheckOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst); } catch (Exception ex) { throw new ApplicationException("ArcEngine 不能正常初始化许可"); } }