I created a custom geoprocessing function tool according to this link . . http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_a_custom_geoprocessing_function_tool/00010000049w000000/

I went through the following instructions in order to create a custom tool in a toolbox, but got the error "You do not have the necessary license to execute the selected tool" when attempting to run the custom tool . . .

1) Register the DLL (in the Debug folder) with ESRIRegAsm utility. ESRIRegAsm.exe is located at, ~:\Program Files\Common Files\ArcGIS\bin folder. Use this example . . . Do the following to register the assembly: Desktop—ESRIRegAsm /p:desktop "C:\Test\MyAssembly.dll"

           Engine—ESRIRegAsm /p:engine "C:\Test\MyAssembly.dll"

2) Create a custom toolbox in a folder or a geodatabase. ArcGIS for Desktop users have the option to add the tool to a custom toolbox manually in ArcCatalog, ArcMap, or ArcGlobe. Right-click a custom toolbox, choose Add, click Tool, expand my function factory, select my tool, and click OK. The tool is added to the custom toolbox.

  • What are you returning for IGPFunction.IsLicensed ? – Kirk Kuykendall Jul 3 '13 at 21:33
  • What license level are you running at? different ArcObjects methods are available depending on license level. Also, if you're not doing complex analysis, you may be better served with a Python tool to start, the debugging cycle is much simpler – scw Jul 3 '13 at 22:09
  • Besides IGPFunction.IsLicensed(), also check what you return from IGPFunctionName.MinimumProduct. – Petr Krebs Jul 4 '13 at 6:37
  • The IsLicensed function returned "false". I'm not sure where you're getting MinimumProduct from. – Renee Cammarere Jul 11 '13 at 19:14
  • In the IsLicensed function, the licName variable contains "ArcGIS Engine". Why do I need an "Advanced" license? – Renee Cammarere Jul 11 '13 at 19:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.