示例#1
0
        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);
        }
示例#2
0
文件: Program.cs 项目: lovelll/YNDQHP
 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);
     }
 }
示例#3
0
        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);
            }
        }
示例#4
0
        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);
            }
        }
        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();
        }
        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();
        }
示例#7
0
        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);
            }
        }
示例#8
0
        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 不能正常初始化许可");
            }
        }