• core client: the program that manages file transfers and execution of applications.
  • manager: the GUI to the core client.
  • screensaver: a program that runs when the machine is idle. Typically it sends a message to the core client, telling it to do screensaver graphics. BOINC can be installed in any of several 'modes':

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

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

    The manager checks mouse/keyboard input and conveys idle state to the core client. There is no screensaver capability. Only the installing user can run the BOINC manager. Files are accessable only to the installing user.

    Service graphical mode

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

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

    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:

    "; ?>