How To: Configure the ArcIMS Data Delivery Extension (DDE) for IIS 6.0 to process Perl requests on Windows 2003


Instructions provided describe how to set up the ArcIMS Data Delivery Extension (DDE). Due to the enhanced security measures on Windows 2003 Server for IIS 6.0, the Perl installation for ArcIMS DDE version 9.0/9.1 require the following steps in order to configure IIS to process the Perl requests.

See the link in the Related Information section below for more information on Perl and CGI scripting with IIS 6.0.

This article is intended for those familiar with ArcIMS, ArcIMS Data Delivery Extension (DDE), IIS 6.0, and Perl.


  1. Launch IIS Manager Console.
  2. Right-click the Website, i.e., parent, or the site that to enable for Perl, i.e., .PL, and then select Properties.
  3. Select the 'Home Directory' tab and click on Configuration. This opens a new dialog box titled 'Application Configuration'.
  4. Each application mapping has an associated file extension, executable path, and verb list. To add the Application Mapping for Perl, click Add. This displays the 'Add/Edit Application Extension Mapping' dialog box.
  5. Type the file path to the Perl executable in the executable field. The file path should end in .EXE or .DLL. Alternatively, click Browse to display the 'Open' dialog box and find the executable. For example:

    For DDE Version 9.1: "<DDE_Installation_Folder>\Perl\bin\perl5.8.3.exe" "%s" %s
    For DDE Version 9.0: "<DDE_Installation_Folder>\Perl\nsperl.exe" "%s" %s
    [O-Image] Add/Edit Application Extension Mapping dialog box
    Make sure the file path is in double quotes and includes the first preceding %s parameter.

    <DDE_Installation_Folder> refers to the default installation directory C:\Program Files\DDE.

  6. Type the file name extension for Perl files as '.PL' in the Extension field. Make sure to include the period, '.', with the extension.
  7. Use the options in the Verbs frame to set the verb list for the application mapping.

    The verb list controls the type of requests that are passed to an application. The commonly used verbs are: GET, HEAD, POST, and DEBUG. Select the 'All Verbs' option to pass all the requests to Perl executable.

  8. Make sure that 'Script Engine' and 'Verify that file exists' options are checked to ensure that the user making the Perl request has appropriate access permissions before running the associated executable.
  9. Click 'OK' to return to the IIS snap-in.
  10. Setup a Web Service Extension.

    Unlike previous versions, IIS 6.0 is configured by default to serve only static content and known extension(s), so a new Web Service Extension is required in order to process the Perl requests.

  11. To add the Web Service Extensions globally for all sites, right-click on the 'Web Service Extension' node in IIS and select 'Add a new Web service extension'. This display the 'New Web Service Extension' dialog box.
  12. Enter a meaningful name such as 'Perl CGI Extension' for the Extension name.
  13. Click on add and type the following for the Required File:

    For DDE Version 9.1: <DDE_Installation_Folder>\Perl\bin\perl5.8.3.exe "%s" %s
    For DDE Version 9.0: <DDE_Installation_Folder>\Perl\nsperl.exe "%s" %s
    [O-Image] Web Service Extension Properties - Perl CGI Extension dialog box
  14. Make sure that 'Set extension status to Allowed' is checked on.
  15. Restart IIS and send a simple Perl request to ensure that IIS is processing the Perl requests correctly.

    The following is a sample script to test if Perl is functioning properly. Copy and paste the sample code in a text editor and save the file under the IIS Inetpub/wwwroot folder with .pl file extension (e.g. samplescript.pl):

    # Sample PERL Script
    my $myvar="Test Successful";
    print "Content-Type: text/html\n\n";
    # Note there is a newline between
    # this header and Data
    # Simple HTML code follows
    print "<html> <head>\n";
    print "<title>Sample Perl Script</title>";
    print "</head>\n";
    print "<body>\n";
    print "<font face='arial'>Sample Script result: $myvar</font>\n";
    print "</body> </html>\n";

  16. View the results of the above code in a web browser by typing the following URL: http://localhost/samplescript.pl
    [O-Image] Example of Sample Perl Script in web browser
  17. Test the DDE sample website by browsing to the following URL: http://localhost/safeviewerhtml/login.html
  18. Input a User ID and an email address and then click on 'Login' to display the sample DDE map. This indicates that the Perl is now configured correctly to process DDE requests.
  19. Integrate the DDE functionality in an ArcIMS Viewer. For detailed instructions on this process, refer to the DDE manual. For DDE version 9.1, refer to Chapter 5 and 8; for DDE version 9.0, refer to Chapter 6, 7 and 8.

Related Information

Last Published: 5/5/2016

Article ID: 000008798