I am having some issues with registering a dll:

  1. run DOS as Administrator
  2. CD "C:\Program Files (x86)\Common Files\ArcGIS\bin\" (where the ESRIRegAsm.exe is)
  3. I attempt to register the dll as follows:

Syntax: ESRIRegAsm.exe assembly_name /p:product_name

ESRIRegAsm.exe "C:\Program Files (x86)\MyExtension\myextension.dll" /p:desktop

I get a warning raised by the registration utility that says: Specified path not found.

However, the path is positively correct.

What am I doing wrong?

  • Awesome, thanks. Please re-enter your comment and enter as an answer so that i may mark it as answered. – Jakub Sisak GeoGraphics Dec 3 '10 at 18:44
up vote 5 down vote accepted

If you change to the directory of the DLL that you need to register you should be able to type just the DLL name without having to worry about directory names with spaces.

So, in your case, cd to "C:\Program Files (x86)\MyExtension" and then run the following:

ESRIRegAsm myextension.dll /p:desktop

Here's a small script to make deploying the dll a little easier. Save and distribute as esri-register-dlls.bat in same folder as the tool.

@echo off
echo.
echo. Manually registering custom ArcGIS COM tools in the current folder...
echo.
setlocal
set PATH=%PATH%;C:\Program Files (x86)\Common Files\ArcGIS\bin;C:\Program Files\Common Files\ArcGIS\bin

for %%a in (*.dll) do ESRIRegAsm.exe "%%~dpna"

endlocal

If you need to also enable 64bit background processing: use the /regfile:somename.reg parameter to create registration file and then import using regedit.exe, which will automatically create the 64bit regsitry hive version.

ESRIRegAsm "path\to\custom.dll" /regfile:custom-tool.reg
regedit "path\to\custom-tool.reg"

Source: How To: Register function tools (DLL) for both Desktop and 64-bit Background Processing (Esri tech article)

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.