Components

Single-user mode

This is the default. The goals are simplicity and nice graphics.

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

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.

Run-while-logged-in mode

This is the same as single-user mode except that the BOINC manager (and core client) run whenever any user is logged in. 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.

Run-always nongraphical mode

This is for situations, such as a PC lab in a school, where the administrator wants BOINC to run on the machine all the time (even when no one is logged in) but doesn't want any other users to be able to see or control BOINC.

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.

There is no mouse/keyboard checking, so run-when-idle is not supported. There is no screensaver capability. Only the installing user can run the BOINC manager. Files are accessable only to the installing user.

Run-always graphical mode

This is for PCs that have multiple users, all of whom want to see graphics and have control over BOINC. BOINC should run when no one is logged in.

The core client runs as a service, started at boot time. It runs under the 'local system' account (and hence so do all applications). The manager starts at login for all users. The manager checks mouse/keyboard input and conveys idle state to the core client.

The screensaver either does graphics itself (based on info obtained from the screensaver via RPC) or (via the core client) has an application do the graphics. In this case the application must switch to the same window station and desktop as the screensaver.

NOTE: this is not implemented and may never be, because of technical difficulties and the undesirability of running BOINC as 'local system'.

Customizing the installer

The new BOINC installer is an MSI package. Suppose you want to modify it so that you can deploy BOINC across a Windows network using Active Directories, and have all the PCs attached to a particular account. Here's how to do this:

"; ?>