| 1 | == Client Setup Logic for 6.0 Clients == |
| 2 | |
| 3 | Starting with the 6.0 client release the service-mode install type will be the only supported install type. We expect to receive the following benefits: |
| 4 | |
| 5 | * Simplified installation experience. |
| 6 | * Increased security. |
| 7 | * Increased stability for project applications. |
| 8 | * Graphics available for all users, instead of just the first user to login. |
| 9 | |
| 10 | NOTE: Windows9x will continue to be treated as a single-user install. |
| 11 | |
| 12 | High level MSI overview: |
| 13 | {{{ |
| 14 | GUI BEGIN |
| 15 | Welcome Screen |
| 16 | License Agreement |
| 17 | Configuration Screen (BOINC Screensaver, Launch BOINC Manager at Logon, Advanced Button) |
| 18 | IF AdvancedButtonClicked |
| 19 | Advanced Configuration Screen (Change Install Directory, Change Data Directory, Select which components to install) |
| 20 | END IF |
| 21 | Confirmation Screen |
| 22 | GUI END |
| 23 | |
| 24 | |
| 25 | |
| 26 | EXEC BEGIN |
| 27 | ... |
| 28 | ... MSI: Copies extracted MSI to storage location |
| 29 | ... MSI: Search for existing BOINC installation |
| 30 | ... MSI: Validates installaton package |
| 31 | ... |
| 32 | CAValidateSetupType |
| 33 | CAValidateServiceAccount |
| 34 | CAShutdownBOINC |
| 35 | CAShutdownBOINCManager |
| 36 | CAShutdownBOINCManager95 |
| 37 | CAShutdownBOINCScreensaver |
| 38 | ... |
| 39 | ... MSI: Remove older version if it exists |
| 40 | ... |
| 41 | CACleanupOldBinaries |
| 42 | CAMigratex86x64 |
| 43 | CAMigrateCPDNBBC |
| 44 | CACreateBOINCAccounts (New in Version 6.0) |
| 45 | CACreateBOINCGroups (New in Version 6.0) |
| 46 | CAMigrateBOINCData (New in Version 6.0) |
| 47 | ... |
| 48 | ... MSI: Begin installation process |
| 49 | ... MSI: Copy Files to installation directory |
| 50 | ... MSI: Set Permissions installation directory |
| 51 | ... MSI: Register Service |
| 52 | ... MSI: Copy screensaver to screensaver installation directory |
| 53 | ... MSI: Register Screensaver |
| 54 | ... |
| 55 | CACreateBOINCManagerLaunchScript |
| 56 | ... |
| 57 | ... MSI: Start Services |
| 58 | ... MSI: Register User |
| 59 | ... MSI: Register Product |
| 60 | ... MSI: Cleanup temporary files |
| 61 | ... |
| 62 | EXEC END |
| 63 | }}} |
| 64 | |
| 65 | === User Accounts === |
| 66 | |
| 67 | Two user accounts will be created, one to execute boinc.exe, and one that boinc.exe can use to launch science applications. |
| 68 | |
| 69 | NOTE: Including the computer name avoids name collisions when BOINC is installed on domain controllers. |
| 70 | |
| 71 | Users: |
| 72 | |
| 73 | {{{ |
| 74 | boinc_<ComputerName> |
| 75 | boinc_project_<ComputerName> |
| 76 | }}} |
| 77 | |
| 78 | Both `boinc_<ComputerName>` and `boinc_project_<ComputerName>` should be setup so that their passwords never expire. |
| 79 | |
| 80 | A file should be dropped in the BOINC data directory called client_init.xml which contains the username and base64 encoded password for `boinc_project_<ComputerName>`. The first time the client starts up after install it should read the file and store an encrypted form of the data in the state file using !CryptProtectData/CryptUnprotectData. After reading in the client_init.xml file it should be deleted. |
| 81 | |
| 82 | Groups: |
| 83 | |
| 84 | {{{ |
| 85 | boinc_administrators |
| 86 | boinc_project |
| 87 | }}} |
| 88 | |
| 89 | Each group will contain the following members: |
| 90 | |
| 91 | || boinc_administrators || Administrator [[BR]] <Installing User> [[BR]] `boinc_<ComputerName>` || |
| 92 | || boinc_project || `boinc_project_<ComputerName>` || |
| 93 | || Guests || `boinc_project_<ComputerName>` || |
| 94 | |
| 95 | === Data Directory === |
| 96 | |
| 97 | All data, configuration files, and logs will be moved to the following default location: |
| 98 | {{{ |
| 99 | Vista: |
| 100 | C:\Users\All Users\BOINC |
| 101 | |
| 102 | 2000/XP: |
| 103 | C:\Documents and Settings\All Users\Application Data\BOINC |
| 104 | }}} |
| 105 | |
| 106 | Under BOINC there will be a 'projects' and 'slots' directory. |
| 107 | |
| 108 | Directories will have the following permissions: |
| 109 | |
| 110 | || BOINC || SYSTEM (Full Control) [[BR]] Administrators (Full Control) [[BR]] boinc_administrators (Modify, Read & Execute, List Folder Contents, Read, Write) [[BR]] boinc_projects (Deny All) || |
| 111 | || BOINC\projects || SYSTEM (Full Control) [[BR]] Administrators (Full Control) [[BR]] boinc_administrators (Modify, Read & Execute, List Folder Contents, Read, Write) [[BR]] boinc_projects (Modify, Read & Execute, List Folder Contents, Read, Write) || |
| 112 | || BOINC\slots || SYSTEM (Full Control) [[BR]] Administrators (Full Control) [[BR]] boinc_administrators (Modify, Read & Execute, List Folder Contents, Read, Write) [[BR]] boinc_projects (Modify, Read & Execute, List Folder Contents, Read, Write) || |
| 113 | |
| 114 | Notes: What to do if an organization has disabled the 'Bypass Traverse Checking' user right for Everyone? See http://support.microsoft.com/kb/823659 for more details. |
| 115 | |
| 116 | === Executables Directory === |
| 117 | |
| 118 | Same location as the previous releases. |
| 119 | |
| 120 | {{{ |
| 121 | C:\Program Files\BOINC |
| 122 | }}} |
| 123 | |
| 124 | Directory will have the following permissions: |
| 125 | |
| 126 | || BOINC || SYSTEM (Full Control) [[BR]] Administrators (Full Control) [[BR]] boinc_administrators (Modify, Read & Execute, List Folder Contents, Read, Write) [[BR]] boinc_projects (Deny All) || |
| 127 | |
| 128 | === Additional Notes === |
| 129 | |
| 130 | Each time an installation occurs, both of the account passwords should be reset and a new randomly generated password should be used. |