今天,再次遇到這個問題,再忙得把它記錄下來!
AO/AE程序的許可方式
不管是開發環境是基於ArcObject還是基於ArcEngine,不管運行環境是Desktop還是Runtime(早已改名了為ArcEngine了,因為防止與新產品Runtime重名),都需要許可。常見的有兩種注冊許可的方式,一是直接拖licence控件;二是使用接口注冊。
而我個人喜歡使用接口,這樣可以檢查許可的狀態,彈出自己的提示,而不是ESRI 的提示。
0x80040228許可錯誤
但在10.4使用代碼許可高級版權限(esriLicenseProductCodeAdvanced)時,仍然報錯"異常來自 HRESULT:0x80040228 ",即使我使用控件許可,也不行。(這是第二次遇到了)
licenseStatus = mAoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced);
也許是10.4的Bug
解決方法,既然是許可錯誤,一定在注冊許可的代碼處下手,把它改成ArcServer的許可就好了,我也不理解為什么要使用它,也不必究根問底。
licenseStatus = mAoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcServer);
