Join PrimeGrid
Returning Participants
Community
Leader Boards
Results
Other
drummers-lowrise
|
Message boards :
General discussion :
BOINC Windows install question
Author |
Message |
Scott Brown Volunteer moderator Project administrator Volunteer tester Project scientist
 Send message
Joined: 17 Oct 05 Posts: 2324 ID: 1178 Credit: 14,844,221,455 RAC: 21,868,235
                                           
|
I know I can probably find my answers via a good web search, but I thought I'd ask here first to see if anyone has a quick and easy answer. I am trying to do a special BOINC install on a group of machines (about 70 or so), but I cannot do a standard install for a variety of reasons. I also need the install to do so under the following conditions (all under Windows 7 Enterprise):
1) Needs to be a service install that will run in the background. Preferably the install would not show the BOINC processes running in the windows task manager for a general user (showing when logged in as Admin is fine).
2) The BOINC manger software should not start-up automatically, and the BOINC icon should not appear in the tray (e.g., this install cannot have the BOINC notices popping up, etc.).
3) The client will be installed, monitored, and managed remotely.
4) There are no GPUs in these machines, so no GPU related restrictions apply.
5) I will still need to be able to set BOINC tasks to suspend when a machine is in active use by someone when they log in and are using the machine.
Basically, I need BOINC to run completely silently in the background on these machines. This is needed so as not to confuse the users who might not know what this software is and delete/stop it locally. Before anyone asks, yes, permission to use the machines is granted, but the owner/manager of the machines requires this silent style install to do so.
I am assuming that this might be accomplished via a command-line install process, but I honestly haven't looked at that side of BOINC in more than 7 years.
Does anyone have an easy way of doing this? Or can you point me to the right page/pages to get my answers and avoid some web search time? Any help is greatly appreciated!
____________
141941*2^4299438-1 is prime!
| |
|
Honza Volunteer moderator Volunteer tester Project scientist Send message
Joined: 15 Aug 05 Posts: 1931 ID: 352 Credit: 5,663,945,582 RAC: 5,118,435
                                   
|
Are those machines in domain?
Not tested, just an idea...
How about prepare single machine and monitor registry changes (using RegFromApp by Nirfost for example). I would also prepare global_prefs.xml, cc_config.xml, gui_rpc_auth.cfg, remote_hosts.cfg and perhaps account_www.primegrid.com.xml.
Then, I would remotely copy all BOINC and data files to the same folders on remote michnes and apply registry changes (which should also include BOINC service)
(if succesful), this would not only hide BOINC from menu but hide BOINC in installed programs.
Otherwise, I would go Creating custom installers
For hiding processes from users, I would go for ProcessMagic or similar.
____________
My stats
Badge score: 1*1 + 5*1 + 8*3 + 9*11 + 10*1 + 11*1 + 12*3 = 186 | |
|
streamVolunteer moderator Project administrator Volunteer developer Volunteer tester Send message
Joined: 1 Mar 14 Posts: 985 ID: 301928 Credit: 543,186,264 RAC: 585
                        
|
Don't run installation, just copy all executable files from another machine to any directory (You even don't need all files, but we will skip this part for now). You cannot write to "Program Files", so a good place to put all files is "C:\Users\Public". This directory is shared by default to everybody, so, if network sharing with default settings is enabled, you also will have physical access to files via network. I like to create "C:\Users\Public\Programs" directory, with "Boinc" and "BoincData" subfolders. This could be done remotely via network, if public/guest sharing is enabled.
C:\ProgramData is second solution, this directory is writable with user privileges (but no network access). Of course, you could create any directory on any drive, but this is more noticeable.
Note: I don't recommend to use pathnames with spaces, boinc have some bugs handling this (at least in "detach_console" option).
The installation could be verified by running "C:\Users\Public\Programs\Boinc\boinc.exe --dir C:\Users\Public\Programs\BoincData". Use normal user account. This will initialize data directory as well. Ctrl-C to exit.
Managing: nothing special, just read boinc documentation about remote management. In short, you must create "remote_hosts.cfg" (pre-copy it to the data directory) and put password into "gui_rpc_auth.cfg" (either pre-copy your own either get random one which boinc will create during directory initialization).
Creating a service: from elevated command prompt (run as Administrator), enter following command exactly, with spaces and quotes as here:
sc create BoincSVC start= auto error= ignore binpath= "C:\Users\Public\Programs\Boinc\boinc.exe --daemon --dir C:\Users\Public\Programs\BoincData" depend= "+TDI/+NetworkProvider" displayname= "Berkeley distributed infrastructure"
(You may edit service name and displayname if you like). Note the space after "=" (quite funny syntax).
Checking for user activity: in Windows 7, when Boinc is run as service, you must somehow also run boinctray.exe utility which will do real check for activity and report this data to service (don't worry, it does not have tray icon regardless of name). Use regedit to create Run-entry.
Unfortunately, I'm not completely sure how to run it correctly. If there is only one user on this system, a way which surely works is to put this under HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run branch. Create new string entry with any name (e.g. "boinctray") and value "C:\Users\Public\Programs\Boinc\BoincTray.exe". If will run as soon as user logs on. If there are multiple users, I'm unsure. May be HKEY_LOCAL_MACHINE\Software\.... will work, may be not.
Now boinc service knows about user activity and all settings from venues (e.g. pause if computer is in use) will work.
Theoretically, last two steps (sc and registry update) could be done remotely if you know Admin's password AND have Admin account enabled and available for remote logons, but my knowledge is not so good in this area.
Note that boinc.exe itself really does not require any registry entries. It's looking only for default data folder, which we'll specify on command line.
Optimization of the procedure described above (using a batch file or custom .msi) is up to you.
| |
|
Message boards :
General discussion :
BOINC Windows install question |