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