Version 1 (modified by romw, 13 years ago) (diff)

Seperate Spec and Design Doc.

Windows Installer Specification v6



BOINC version 6 for Windows is a big improvement in security. In order to take advantage of the increased security though, there needs to be some major changes to the installer.


The goals of the installer for v6 are:

  • Account-based sandboxing
  • Separate the data files from the executable files
  • Simplify installer experience

Account-based Sandboxing

BOINC will now utilize the Windows users’ and groups’ functionality to control specifically who can execute and manage BOINC.

Two user accounts will be created one for executing BOINC itself and one for executing the BOINC applications. Three local user groups will be created to handle to manage BOINC.

Executable/Data? Separation

Previous versions of BOINC on Windows stored the data files and executable files in the same directory structure which made managing permissions difficult.

The installer will now need to create a new directory that will serve as the data directory. The installer will migrate data files to the new data directory if they exist.

Simplify installer experience

Welcome Screen

Same as before.

License Screen

Same as before.

Configuration Screen

title: Installation options
subtitle: These are the current installation options

Program directory:  [...]
Data directory:  [...]

Use BOINC screensaver
Protected application execution
Allow all users on this computer to control BOINC

Click Next to use these options.
Click Advanced to customize options.
[Advanced] [Next]

Advanced goes to the advanced configuration page. Next goes to the Confirmation screen.

Advanced Configuration

title: Customize installation options
subtitle: Customize how BOINC is installed on your computer

Program directory: [...] [Browse]
Data directory: [...] [Browse]

[ ] Use BOINC Screensaver
[X] Protected application execution.
    This provides increased protection against faulty project applications.
    However, it may cause screensaver graphics to not work with older applications.
[X] Allow all users on this computer to control BOINC

Checkboxes labeled as [X] are enabled by default, otherwise they are disabled. If any values are present from previous install, use them. The "Allow users" checkbox is disabled unless the "Protected" checkbox is set.

'Next' goes to 'Confirmation' screen.

Confirmation Screen

Same as before.

Discussion Topics

  • Why was the 'Launch BOINC on startup' option removed from the installer?

The 'Launch BOINC on startup' option actually started the BOINC Manager, so on systems where BOINC was being installed as a service it was being ignored. Most people do not understand the difference between BOINC and the BOINC Manager. Most people who install BOINC want it to run whenever they are not around.

To keep things simple we decided to remove the option and setup the system so that both BOINC and the BOINC Manager are started at system startup or logon, if the users want to change this behavior they can delete the BOINC Manager shortcut and/or change the service properties via the service control manager administrative tool.