How To: Deploy a Custom Raster Format DLL with ArcIMS


Instructions provided describe the steps required to deploy a custom raster Dll with ArcIMS on Windows. The DLL must have been previously created according to the steps provided in the Custom Raster Format DLL Technical Paper.

This article supersedes the instructions in the Custom Raster Format DLL Technical Paper for deploying with ArcIMS.


The Custom Raster Format DLL Technical Paper provides a sample DLL which will be used throughout this document as an example.

Before following these steps with the ArcIMS 4.0.1 ImageServer obtain the ArcIMS Image Server and Custom Raster Update .

  1. Stop ArcIMS Tasker, ArcIMS Monitor, and the ArcIMS Application Server.
  2. Copy the custom raster format DLL and any other files needed by the DLL into

    C:\Program Files\Common Files\ESRI\Raster\usr\lib\ntx86\RasterFormats

  3. Back up the RasterFormats.cfg and FileFilters.cfg files. At ArcIMS 4.0.1 the two files are located in the C:\Program Files\Common Files\ESRI\Raster\devices\ntx86 directory. Do not remove these files.

    If working with a new install of ArcIMS, the RasterFormats.cfg may not exist. It is created the first time an image service is created. Create an ImageServer service before proceeding if the file does not exist.

  4. Edit the FileFilters.cfg. The information in the FileFilters.cfg file is used to create raster format-related registry keys. The original sequence in this file must be maintained, and information for the new formats must be appended to the end of this file. Each format has three three definition lines. The following example is for the My Format sample included in this distribution:

    "My Format" : "RasterFormatsUI" ;
    "My Format".order: 26 ;
    "My Format".user_title : "MyFormat" ;

    'RasterFormatsUI' is a keyword that allows the entry to be recognized as a proper entry.

    'Order' determines where in the format list the format occurs, and it should be the next value not already present. For example; if the highest existing order number in the default configuration file is 25, the order number for the new raster format must be 26. Look at the existing entries for examples but do not edit the existing entries.

    The user_title should be the format name that will be used in the registry setting for this new format key. It can be the same as the format name or a shorter one.
  5. Add these lines below to the RasterFormats.cfg file. There should be a set of these lines for each supported raster format. This example is for the My Format sample.

    "My Format" : "rasterformats" ;
    "My Format".instance : "$IMAGINE_HOME/usr/lib/$ARCHM/RasterFormats/mft.dll" ;
    "My Format".template : "*.mft" ;
    "My Format".ispseudo : "false" ;
    "My Format".shortname : "mft" ;
    "My Format".extension : ".mft" ;
    "My Format".isdir : "file" ;
    "My Format".userfile : "user" ;
    "My Format".iscreatable : "false" ;
    "My Format".magic : "" ;

    The keyword 'rasterformats' allows the entry to be recognized as a proper entry.

    The 'instance' points to the location of the format DLL. It is best to use the environment settings in the current example.

    The 'template' is a regular expression that should match any raster dataset of this format.

    The 'ispsuedo' determines if this format is uniquely identified by its extension or not. This should be false, or errors may occur.

    The 'shortname' is used to maintain information about the format in the registry.

    The 'extension' is the template without the *. Isdir specifies if the format is file based (file), such as TIFF or JPEG, or directory based (dir), such as GRID.

    'Userfile' determines if files of this type should be shown to the user, which they should in almost all cases, and iscreatable specifies if new datasets of this format can be created using the format DLL.

    'Magic' identifies a unique 'Magic number' that can be used to identify a file as a particular raster format based on the first set of characters in the file. See the documentation for the InstanceMagicListGet function definition for the correct format of this string.
  6. Start the ArcIMS services, in the following order:
    1. ArcIMS Application Server
    2. ArcIMS Monitor
    3. ArcIMS Tasker.
  7. Create an ArcIMS *.axl or *.mxd file using this image type. If using *.axl users cannot to add the new image format using Author. Users need to edit the *.axl file with a text or XML editor.

    An alternative to create the *.axl file is to change an existing *.axl to reference the data’s extent, workspace, and name. To learn more about creating an ArcIMS map configuration that references an image, use the ArcXML guide and search for IMAGEWORKSPACE in the index.
  8. Use ArcIMS Administrator to create a service that uses the custom image format.