Single-user installation

This is the recommended mode. If you check the 'run on startup' box, BOINC will run while you (the installing user) are logged in.

BOINC is listed in the Start menu of the installing user, but not other users.

The 'Show graphics' command in the BOINC manager will work only for the installing user. The BOINC screensaver will only show application graphics only for the installing user (other users can run the screensaver but will see textual information only).

Shared installation

If you check the 'run on startup' box, BOINC runs whenever any user is logged in.

BOINC is listed in the Start menu of all users.

While BOINC is running, it runs as a particular user (either the first user to log in, or the first to run BOINC). The 'Show graphics' command in the BOINC manager, will work only for this user. The BOINC screensaver will only show application graphics only for this user (other users can run the screensaver but will see textual information only).

Service installation

If you check the 'run on startup' box, BOINC runs all the time (even when no one is logged in).

BOINC is listed in the Start menu of the installing user, but not other users.

The 'Show graphics' command in the BOINC manager will not work for any user. The BOINC screensaver will only show textual information.

Customizing the installer

The new BOINC installer is an MSI package.

Active Directory Deployment

Suppose you want to modify it so that you can deploy BOINC across a Windows network using Active Directory, and have all the PCs attached to a particular account. Here's how to do this:

Command line deployment

An example for the single-user install would be: msiexec /i boinc.msi /qn /l c:\boincsetup.log SETUPTYPE='Single' ALLUSERS=0 ENABLESCREENSAVER=0 ENABLELAUNCHATLOGON=0 LAUCHPROGRAM=0 An example for the shared install would be: msiexec /i boinc.msi /qn /l c:\boincsetup.log SETUPTYPE='Shared' ALLUSERS=1 ENABLESCREENSAVER=0 ENABLELAUNCHATLOGON=0 LAUCHPROGRAM=0 An example for the service install would be: msiexec /i boinc.msi /qn /l c:\boincsetup.log SETUPTYPE='Service' ALLUSERS=0 ENABLESCREENSAVER=0 ENABLELAUNCHATLOGON=0 LAUCHPROGRAM=0 SERVICE_DOMAINUSERNAME='%ComputerName%\\%UserName%' SERVICE_PASSWORD='%Password%' SERVICE_GRANTEXECUTIONRIGHT=1

Technical details

BOINC's Windows installer installs several programs:

Single-user installation

Say the install is done by user X. The manager runs automatically when X logs in. The manager starts up the core client. The core client it runs as a regular process, not a service. If the manager crashes the core client continues to run. The user can re-run the manager. When the user logs out, the manager, the core client, and any running applications exit.

Files (in the BOINC directory) are owned by user X.

Detection of mouse/keyboard is done by the manager.

The screensaver works as it currently does, except that we'll pass window-station/desktop info so that the password-protected screensaver mechanism will work.

Other users can't run the BOINC manager.

Shared installation

Processes run as whoever is logged in. If someone logs in while BOINC is already running, it will not start a new instance of BOINC.

Service installation

The core client runs as a service, started at boot time. On Windows 2003 and greater is runs under the 'network service' account. Otherwise it runs as the installing user.

The manager checks mouse/keyboard input and conveys idle state to the core client. Only the installing user can run the BOINC manager. Files are accessable only to the installing user. "; ?>