                Running MaraDNS as a Windows NT/2000/XP service

   Note: This document only applies for the Windows port of MaraDNS

   It is possible to run the native 32bit-Windows port of MaraDNS as a
   service that starts up automatically when Windows is started and runs in
   the background. This document gives step by step instructions on how to do
   this. These instructions assume one is using Windows XP; they probably can
   be adapted to work with Windows NT and 2000.

   The rest of this document will simply call Windows XP "Windows". These
   directions will not work with Windows 95, 98, or ME.

   In order to run MaraDNS as a service on Windows, the following is needed:

     * The native Windows32 port of MaraDNS, with a name like
       maradns-1-2-12-win32.zip
     * A zip file, originally issued by Microsoft and freely available
       several places on the Internet called "srvany.zip". This file can be
       easily found via an Internet search engine. The file in question is
       24,287 bytes long, has an md5 sum of 7e827466629dea02d8f16648d9c43400,
       and a sha1 sum of e2e2ea3701046eb782bd58ae05fb9face1e03543.

   Once these files are obtained, unpack both .zip files by right-clicking on
   them and selecting "extract all" (Windows XP finally has native zipfile
   support). The rest of this document will assume that you have extracted
   all the files in both zip files to the directory c:\maradns.

   Here are all 12 files that will be in c:\maradns if the files were
   correctly obtained and extracted:

     * mararc
     * readme.txt
     * run_maradns.bat
     * maradns.exe
     * askmara.exe
     * Askmara.html
     * pthreadGC2.dll
     * pthreads-w32-2-6-0-release.tar.bz2
     * Service.html Note: This file will not be present if using MaraDNS
       1.2.11 or lower
     * srvany.exe
     * instsrv.exe
     * srvany.wri

   Since it may be desirable to actually have these files in a directory
   besides c:\maradns, the rest of this document will have this directory in
   bold face; substitute c:\maradns with the directory actually containing
   the above files.

   At this point, here is what is needed to make MaraDNS a Windows service:

    1. Log in to Windows as a user with administrative privileges.

    2. Open up a command prompt by going to the start menu, selecting "run",
       and typing in cmd when Windows asks you what file to run.

    3. In the command prompt window, type in the following command:

         instsrv MaraDNS c:\maradns\srvany.exe

    4. Open up the Windows registry editor. This can be done by selecting
       "run" from the Windows start menu and running the command "regedit".
       Note: Incorrect usage of the Windows registry editor may cause your
       system to be unusable, forcing a reinstall of the operating system.
       Please use this program with the utmost of care. If you are not
       comfortable editing the registry of your system, or think that you may
       make an error, please seek the advice of someone more comfortable with
       the registry editor.

    5. Go to the "key"
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MaraDNS This is
       done by clicking on the "+" to the left of "HKEY_LOCAL_MACHINE",
       followed by clicking on the now-revealed "+" to the left of the word
       "SYSTEM" under "HKEY_LOCAL_MACHINE", followed by clicking on the
       now-revealed "+" to the left of "CurrentControlSet", and so on.

    6. Create a new key under MaraDNS called Parameters. This is done by
       right-clicking (clicking with the right mouse button) on "MaraDNS",
       selecting (with the left mouse button) new -> Key, and typing in the
       name "Parameters" (without the quotes in the name) to replace "New Key
       #1".

    7. Under
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MaraDNS\Parameters,
       the following three new strings need to be created:

          * Application
          * AppParameters
          * AppDirectory

       This is done by going to the
       HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\MaraDNS\Parameters
       key, right clicking on the key for each of the above values, selecting
       "new string value", and selecting one of the above three names. Repeat
       this process until all of the three above strings are added to the
       Windows registry.

    8. Double click on the newly created Application key. Give this key the
       value "c:\maradns\maradns.exe" (without the quotes).

    9. Double click on the newly created AppParameters key. Give this key the
       value "-f mararc" (again, without the quotes).

   10. Double click on the newly created AppDirectory key, and give it the
       value "c:\maradns".

   11. Now we need to start up the MaraDNS service, and make sure it starts
       up every time Windows is rebooted. From the Windows desktop, go to
       Start -> Control Panel -> Administrator tools -> Services.

       If you can not find "Administrator tools" under the control panel,
       make sure you are using classic instead of category view (selected on
       the left hand side of the control panel window), or select "upkeep and
       maintainence", followed by "Administrator tools".

   12. Find the MaraDNS service in the list of services.

   13. Double click on the service to bring up its properties.

   14. Make sure the MaraDNS service is automatically started up, and start
       the MaraDNS service.

   At this point, the MaraDNS service should be running. To verify this,
   enter the c:\maradns directory from the cmd prompt (the commands are "c:"
   followed by "cd c:\maradns"). Next, type in the following command:

     askmara 1:www.microsoft.com.

   The output should look something like this:

 # Querying the server with the IP 127.0.0.1
 # Question: Awww.microsoft.com.
 www.microsoft.com. +900 cname toggle.www.ms.akadns.net.
 toggle.www.ms.akadns.net. +300 a 207.46.19.30
 # NS replies:
 # AR replies:

   If not, verify that you have a working internet connection. If you do,
   make sure MaraDNS is running by seeing if it is listed as "maradns.exe" in
   the task manager (Cntl + Alt + Del) under the "Processes" tab. Note: If
   you can't see tabs in the task manager, simply double click in the blank
   area on the side of the task manager.
