Running SETI as a
Service on Windows NT/2K/XP
Requirements:
- You must be running Windows NT 3.51 or 4; Windows 2000; Windows
XP. This procedure does NOT apply to Windows 95/98/ME.
- You must be logged on with administrator privileges.
- You must have a working setup of SetiDriver and Seti command line
client
- You must download copies
of instrsrv.exe and srvany.exe from the Windows NT Resource Kit.
- A Permanent "always-on" Internet connection is a major advantage
although not essential for running SetiDriver as a service.
Introduction
Running SetiDriver as a service has a number of distinct advantages for
the serious Seti Cruncher. Firstly, because services may be started
automatically during the boot procedure, SetiDriver may be started at
boot time even if no user logs on. In addition, SetiDriver will
continue to run when a user logs off but the system is not shut down
thus making this method ideal for multi-user systems. Second, running
SetiDriver as a service can minimize your downtime in the event of
system failure by automatically restarting the service in the event of
a system reboot. Third, running SetiDriver as a service provides an
effective way of "hiding" Seti from users especially if you get a
little creative in renaming SetiDriver and the Seti client. These two
processes will, however, still show up in the processes listing in Task
Manager.
The Windows NT Resource Kit provides two utilities, instrsrv.exe and
srvany.exe, that allow users to install and run an application as a
system service. Instrsrv.exe allows users to install and remove
services from Windows and srvany.exe allows most (but not all) Windows
applications to run as a service. Using these two utilities we can
install SETIDriver as a user-defined service under Windows.
Installation
- Log on to
your computer with Administrator privileges.
- Download a
copy of instrsrv.exe and srvany.exe from here if you don't already have
them.
First ensure you have a working installation of the SETI command line
client and SetiDriver. For this example I have renamed these to
Seti.exe and SetiDriver.exe, respectively, and both are installed in
the c:\seti directory. If your setup is different, simply adapt the
following to suit your setup. Remember to set your Cache to the desired
level, check the Auto Transmit check-box, select Low Priority, and
enter any relevant Proxy details as required.
- Copy
instrsrv.exe to your Windows\System32 directory (c:\winnt\system32).
- Copy
srvany.exe to your SETI directory (c:\seti).
- Open a DOS
Prompt window and type:
instsrv.exe
SetiDriver c:\seti\srvany.exe |
Note
|
The service may be
removed by typing: "instsrv.exe SetiDriver remove" (no quotes) |
- Type Regedit to open a copy of the Registry Editor
- Open and expand the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
- Highlight SetiDriver, then right-click and select New, Key
- Type: Parameters
- Highlight Parameters, right-click and add the following New
String Values Names:
- Double-click the Application value name you just created and
enter the following Value Data: "c:\seti\SetiDriver.exe"
- Double-click the AppDirectory value name you just created and
enter the following Value Data: "c:\seti"
- Exit the Registry Editor.
Optimization
- Open the
Services Control Panel in Administrative Tools.
- Go to the
SetiDriver service and double-click on it.
- Set the
Startup type to Automatic and click Apply. This will cause the service
to automatically start at the next boot.
- Select the
Recovery tab and select the appropriate service failure options.
To start the
service immediately, highlight SETIDriver and click Start. Now
right-click the task bar and start Task Manager and select the
Processes tab. You should see SetiDriver.exe and Seti.exe listed as
running processes.
Note
|
Although SetiDriver
is running the icon is no longer visible in the System Tray. |
Note
|
Clicking
Stop in the Services Control Panel will stop SetiDriver but will not stop the SETI command line
client as the client is a spawned child process of the SetiDriver
service and not a service in it's own right. You can stop the service
and the client by setting the Startup type to Manual, clicking Apply
and then rebooting. |
Next open the
System Control Panel. Select the Advanced tab and click Startup and
Recovery. Check the Automatically reboot option in the System Failure
section. This will ensure that the system will restart in the event of
a system failure thus restarting the SetiDriver service.
Monitoring
As SetiDriver is
hidden when running as a service, you no longer have the ability to
view the SetiDriver status bar for monitoring the progress of your
current work unit. So now is the time to check out some third party
add-ons for monitoring SETI. Everyone has their own favorites,
personally I like SETIWatch and
SETI Spy.
References
The following
Microsoft Knowledge Base Articles contain information on running
Services for Windows:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q137890
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q193238
http://setiathome.ssl.berkeley.edu/nt_service.html