Error: Error 1904: failed to register C:\Program Files\ArcGIS\Bin\xmlsupportui.dll, 3dsymbolsui.dll, or GxRaster.dll
Installing ArcGIS products on a machine with a processor that supports data execution prevention (DEP), and Windows XP Service Pack 2 (SP2) results in a failed installation. This includes the AMD Athlon 64 Family processors, as well as newer Intel Xeon, Pentium 4, Pentium M or Centrino processors, and Celeron-D processors. The following error message or a similar error message is returned:
For ArcGIS 8.x:
"Error 1904. Module C:\arcgis\arcexe83\bin\AfuiCust.dll failed to register. HRESULT -2147023898. Contact your support personnel."
For ArcGIS 9.x:
"Error 1904: failed to register c:\Program Files\ArcGIS\Bin\xmlsupportui.dll" (or 3dsymbolsui.dll, GxRaster.dll). HRESULT -2147023898. Contact your support personnel."
Various other DLLs may fail to register during the process.
As of Windows XP SP2, Microsoft has enabled data execution prevention (DEP); a feature that is included in newer processor series from AMD and Intel. DEP is a set of hardware and software technologies that perform additional checks on memory to help protect against malicious code exploits. Intel refers to their version of DEP as XD or execution disabling bit. AMD refers to their version of DEP as the NX-bit or No Execute bit.
Solution or Workaround
Disable DEP in Windows XP SP2 using the steps below:
Note: Users with Intel processors may also need to disable the XD or execution disabling bit in their computer's CMOS/BIOS. Since each computer's CMOS is different, reference the computer's manual or contact the manufacturer of the computer for assistance with this step.
Warning: The instructions below include making changes to essential parts of your operating system. It is recommended that you backup your operating system and files, including the registry, before proceeding. Consult with a qualified computer systems professional, if necessary. Esri cannot guarantee results from incorrect modifications while following these instructions; therefore, use caution and proceed at your own risk.
- Verify the user is logged in as an Administrator for Windows XP.
- Go to Start > Control Panel and select the System applet.
Note: XP Home users may need to select the 'Classic View' link to be able to see the System applet.
- Click on the Advanced tab.
- Select the Settings button under Startup and Recovery.
- Beside 'To edit the startup options file manually, click Edit', click the Edit button. This opens the boot.ini file in Notepad.
- Locate the line that contains the following string:
- Modify the string to change the switch to read:
- Save the file and reboot the machine.
- ArcGIS should install normally with no Error 1904 messages.
- After installation, change the boot.ini back to its original state, returning the added layer of security.
Note: The boot.ini file switches: /NoExecute=OptIn - Default setting. Only Windows system binaries are monitored by DEP. /NoExecute=OptOut - Enables DEP for all processes. Users can create a list of applications which are not monitored by DEP using the DEP configuration options listed in the System Control Panel applet. /NoExecute=AlwaysOn - Enables DEP for all processes. DEP is always applied, and exceptions lists are ignored and not available for users to apply. /NoExecute=AlwaysOff - Disables DEP.
- Error 1904. Module C:\arcgis\arcexe8x\bin\xxx.dll failed to register
- Error 1904: Failed To Register AoInitializer.dll
- Error 1904 c:\arcgis\arcexe8x\bin\afcontrols.ocx h result - 2147221164
- Error 1904: failed to register rasterworkspacefactory.dll
- Issues with Windows XP SP2 and ArcGIS 9.0 products
- Microsoft Support - Detailed description of the Data Execution Prevention (DEP) feature