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
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.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.