Running the Folding@Home Client as a Service in Windows NT/2000/XP


There are several reasons that you might want to run Folding@Home as a Windows service, rather than as a normal application. The most obvious is that it gets rid of the taskbar button, reducing clutter. The second is if you prefer, for whatever reason, to run the client in "stealth" mode, i.e., not visible to casual viewers. The final and possibly most useful reason is that when Folding is running as a service, you are no longer required to be logged in to the machine for Folding to run. This means that if something causes the machine to reboot, genome will resume processing even sitting at the Windows login screen. The following takes you through the process of setting up a standard Folding@Home client to run as a Windows service.

This procedure makes a couple of fundamental assumptions. First of all, it assumes that you have already installed and configured the Folding@Home text-based console client. If not, a trip to the Folding@Home web site will get you started. Secondly, it assumes that the path to the client is "C:\fold\". If you have Folding installed in a different directory, modify the instructions accordingly. Finally, to save aggravation of using a beta or nonbeta console client, copy and rename FAHconsole.exe to fahsrv.exe in the same directory.

In addition to your Folding@Home installation, you will need the two small Microsoft programs in order to set up your service. Instsrv.exe is the program used to create a Windows service, and Srvany.exe is a program that allows almost any other program to run as a service. These files are available in Microsoft's Windows Resource Kit, at various internet sites, or you can just download them both here.

Finally, before we get started, a quick disclaimer: This procedure involves editing the Windows registry, which, by nature, involves some risk. If you are unfamiliar with editing your registry, DON'T DO IT. I cannot and will not be responsible for any damage caused by a hacked registry entry. Secondly, while I have tested this procedure in Windows XP, and it has worked fine in every environment that I've tested, I cannot not be held responsible if it doesn't work for you. Computers are odd creatures, and your mileage may vary...

Step 1.
Put Instsrv.exe and Srvany.exe in your Folding@Home directory.

Step 2.
From the Start button, go to Programs->Accessories, then click on Command Prompt. This will open a command window, where you'll need to change to your Folding directory by typing  cd\fold, then pressing ENTER.

Step 3.
Type  instsrv Folding c:\fold\srvany.exe and press ENTER. This will create a service called "Folding". You can substitute a different service name if you wish. If the process is successful, you'll see the following message:

CreateService SUCCESS at creating:

Folding

You must now go to the Registry and the Services applet in the
Control Panel and edit them as per the instructions.

When you're done, just minimize the command window, as we'll be returning to it later in the process.

Step 4.
Open Regedit by clicking Start->Run, then typing regedit and pressing ENTER.

Step 5.
Navigate to the following registry key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Folding

Step 6.
In the left pane of the registry window, click on the Folding key. Then, in the right pane, right-click and choose NEW -> KEY. Name the key Parameters

Step 7.
In the newly-created Parameters key, right-click and choose NEW -> STRING VALUE. Name the value AppDirectory

Step 8.
Repeat Step 7 to create a second new string value. Name it Application

Step 9.
Repeat Step 7 to create a third new string value. Name it AppParameters

Step 10.
Double-click on the String Value "AppDirectory". This will bring up the Modify dialog box. Set the value for AppDirectory to c:\fold\

Step 11.
Double-click on the String Value "Application" Set the value for Application to c:\fold\fahsrv.exe

Step 12.
Double-click on the String Value "AppParameters" Set the value for Application to -service

Step 13.
Close Regedit

Step 14.
Stop your Folding@Home client

Step 15.
Return to the command window and type net start folding, then press ENTER. If everything is configured correctly, you should see a message indicating that the Folding service was started successfully. If you encounter any errors, the most common causes are that there is either a missing file, or one of the paths was entered incorrectly.

The newly-created Folding service will now function as it always has in terms of processing, uploading, and downloading, and any monitoring software will continue to work normally.

If for any reason you should decide you want to remove the Folding service, go to Control Panel->Administrative Tools->Services. Right-click on the Folding service and choose STOP. After the service is stopped, open a command-prompt window, navigate to your folding directory, and type instsrv Folding remove. This will completely remove the service from your system. You can still run your Folding client as you did before, as a normal application.