The Folding@Home Service Installer version 1.0 BETA 1 was released on March 20, 2004.

Folding@home Service Installer

Download Executable - fahsi100b1.zip

Download Source (GPL) - fahsi100b1-src.zip (Requires Nullsoft Scriptable Installation System 2.0)
Please note that I learned NSIS solely for this project so the code may be a little messy! I hope to clean it up in future releases.


Folding@Home Service Installer v1.0 BETA 1

    1. Introduction
      1.1 Contact Information
    2. Instructions
      2.1 Quick Install
      2.2 Custom Install
        2.2.1 Proxy Settings
      2.3 Automated Install
      2.4 Existing Install
      2.5 Client Location
      2.6 Final Options
      2.7 Latest Version
      2.8 Version History

1. Introduction
A Windows service is an application which does not have a user interface and runs without human intervention. It can automatically be started when the computer boots, even if there is no user logged in. The fastest and most unobtrusive way to run Folding@home is as a service, but the official client does not support service installations.

This program was designed to set up Folding@Home as a Windows service. It can automatically install a new client or modify an existing console install. It can detect multiple CPUs and CPUs with hyperthreading, if either is present it can install additional instances of Folding@home to take advantage of the increased processing power. It also supports automated installs, allowing easy replication of a setup across multiple PCs.

This is a beta release and may not function as intended. Please report all bugs, questions, comments and suggestions.

1.1 Contact Information
E-Mail: ythan@taconic.net
ICQ: 19412886
AIM: Ythan
MSN: ythan@taconic.net
Jabber: Ythan@jabber.org

2. Instructions

2.1 Quick Install
The Quick Install can be used if you do not need to set any advanced configuration options. It will automatically detect how many processors are in your computer and install multiple instances of Folding@home if you have more than one CPU or a CPU with hyperthreading. It will configure Folding@home to use your computer's proxy settings and run with the '-service -forceasm' command line parameters. It will also specify the '-local' command line parameter when installing multiple clients.

It will prompt you for the following information:

User Name:
This is the name which will be associated with your work. You can leave the field blank to return results anonymously.

Team Number:
If you wish to join a team, enter its number here. Enter '0' for no team.

2.2 Custom Install
The Custom Install can be used if you wish to specify advanced configuration options. It will allow you to customize all aspects of Folding@home's operation.

It will prompt you for the following information:

User Name:
This is the name which will be associated with your work. You can leave the field blank to return results anonymously.

Team Number:
If you wish to join a team, enter its number here. Enter '0' for no team.

Machine ID:
Folding@home does not have native support for multiprocessor systems. To take advantage of more than one CPU or a CPU with Hyperthreading, multiple instances of Folding@home must be installed. The Machine ID is used by Folding@home to tell these instances apart. When set to "Auto", the Folding@home Service Installer will detect how many CPUs are in the system and automatically install multiple copies of the client and assign Machine IDs as necessary. If you would rather install a single instance of Folding@home with a Machine ID of your choice, you can specify one from 1 - 4.

Store configuration in program directory instead of registry:
If multiple instances of Folding@home are installed on the same computer, they cannot all store their configuration in the Windows registry without conflicting. Under those conditions, it's important to specify that the clients must use local directories to store their configuration. This option in grayed out when Machine ID is set to auto, because it will automatically be set depending on how many installs are being performed.

Always use SSE/3DNow assembly instructions:
By default, Folding@home will use optimized SSE or 3DNow instructions on CPUs which support them. However, if the client terminates abnormally, the optimized instructions will be disabled. This is intended to prevent instability on CPUs with faulty implementations of the instruction sets. However, because most abnormal terminations are not caused by Folding@home, it is recommended that you leave this option enabled to force the client to use optimized instruction sets.

Use SSE instead of 3DNow on AMD processors:
By default, Folding@home uses 3DNow instructions on AMD processors and SSE on Intel. If you have an AMD Processor with SSE support and want to force Folding@home to use SSE instructions on your CPU, select this option.

Attempt to get newly released cores and work units:
This will instruct your client to specifically request new and experimental cores and work units from the Folding@home server. Select this option if you want to test the latest releases.

2.2.1 Proxy Settings
When performing a custom install, you will be prompted for Proxy Settings. If you need to setup Folding@home to use a proxy server so it can access the internet, enter the server's settings here:

Use Windows proxy settings:
Uses the proxy settings specified in the Windows control panel.

Do not use a proxy server:
Connect directly to the internet.

Use custom proxy settings:
Allows you to specify a proxy server address and port.

2.3 Automated Install
The automated install option allows you to install and configure an instance of Folding@home using settings contained in a configuration file. This comes in handy when you wish to install multiple instances of Folding@home which will all use the same settings. To perform an automated install, you must first run the Folding@home Service Installer and specify the configuration options you wish to use. On the final screen before the install, check the box "save these settings for future use" and specify a filename to use for the configuration file. Then for future installs, you will be able to select the automated install option and select the configuration file to automatically install Folding@home with the saved settings.

2.4 Existing Install
If you already have the Folding@home Console installed and configured on your system, this option will allow you to set it up to run as a Windows service. The options works only with the console, not the GUI or screensaver. It will ask for the location of the existing Folding@home executable and prompt you for several configuration options. See section 2.2 Custom Install for a description of what the various options mean. Remember to remove the Folding@home console from your startup group so it doesn't run twice!

2.5 Client Location
Because Folding@Home's license agreement forbids redistribution of the F@H client, it is not included with this install. Instead, the latest version can be automatically downloaded from Stanford's server during the install process. You have the option of specifying the URL of the file, or you can hit the "update" button to retrieve the current official download location. Alternately, you can copy the client from an existing location on your computer or network.

2.6 Final Options
Before installing, you will be prompted for some final options.

Create an uninstaller:
Uncheck this option to prevent the Folding@home Service Installer from creating an uninstall program. This is useful if you want to prevent the service from being accidentally uninstalled.

Automatically start the Folding@home service:
When checked, the Folding@home service will be started immediately after the install completes. Otherwise it will be started on the next reboot.

Save these settings for future use:
Allows you to create a configuration file to use with automated installs. Please see section 2.3 Automated Install for more information.

2.7 Latest Version
You can find the latest version of this program at http://www.shroomery.org/fahsi/

2.8 Version History
1.0 BETA 1
Rewritten from scratch using the Nullsoft Scriptable Installation System.
Too many new changes, fixes and features to count!

0.2
Fixed error where service wouldn't start.
Fixed problem configuring an existing install as a service.
Fixed problems running multiple instances of F@H on one machine.
Improved uninstall routine.
Miscellaneous bug fixes & improvements.

0.1
Initial beta release.