ArcEngine10.5用GP工具做更新功能报异常对COM组件的调用返回了错误HRESULT E_FAIL

 
用的arcgisengine10.5。

TIM截图20180209161755.png


代码:
 Geoprocessor GP = new Geoprocessor();
            GP.OverwriteOutput = true;
            Update update = new Update();
            update.in_features = @"‪F:\test\inputFC.shp";
            update.update_features = @"F:\test\updateFC.shp";
            update.out_feature_class = @"F:\test\result.shp";
            object sev = null;
            try
            {    
                // GP.ExecuteAsync(update);
                GP.Execute(update, null);
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.ToString());
                MessageBox.Show(GP.GetMessages(ref sev));
            }
 
错误:

TIM截图20180209150819.png


TIM截图20180209153151.png

我百度了下,大概是许可的问题,在官网看到更新功能需要最高级的许可:

TIM截图20180209150446.png

 
然后就按照别人说的方法,在窗口初始化之前加代码:
  #region 初始化许可
            IAoInitialize m_AoInitialize = new AoInitializeClass();
            esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable;
            licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
            if (licenseStatus == esriLicenseStatus.esriLicenseNotInitialized)
            {
                MessageBox.Show("没有esriLicenseProductCodeAdvanced许可!");
                Application.Exit();
            }
            #endregion
            InitializeComponent();
结果还是没啥用。
程序入口的代码如下:

TIM截图20180209155105.png

axlicensecontrol的属性也设置了:
TIM截图20180209155221.png

 
求帮助。。。。。
已邀请:

朱新颖

赞同来自:

Bind只绑定Desktop,因为绑定EngineOrDesktop会默认绑定Engine的

cannel

赞同来自:

把 m_AoInitialize.Initialize第一签出的许可级别改为esriLicenseProductCode.esriLicenseProductCodeAdvanced

柚子

赞同来自:

改成这样子:
  m_AOLicenseInitializer.InitializeApplication(new esriLicenseProductCode[] {
                esriLicenseProductCode.esriLicenseProductCodeAdvanced,
                //esriLicenseProductCode.esriLicenseProductCodeEngine, 
                esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB
            },
         new esriLicenseExtensionCode[] { });

            //ESRI License Initializer generated code.
            ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
还是报同样的错误,有些绝望了。。。怀疑engine10.5有问题,,

要回复问题请先登录注册