BOINC on Windows Vista

So I got my hands on the Feb CTP of Windows Vista. All I can say is… WOW, nice eye candy.

I haven’t been gutsy enough to actually load it up on a real computer yet, I installed it on a virtual machine using Microsoft Virtual PC 2004. I did run into a few problems in the beginning, it turns out that Vista didn’t like my captured DVD-ROM and I had to capture a virtual DVD-ROM to actually keep the Vista setup program from crashing. A couple of problems with running Vista under emulation is that Vista removed support for ISA devices, so it doesn’t support the emulated sound card and of course the emulated video card doesn’t support Aero Glass.

Instructions for setting up Vista to run on Virtual PC 2004 can be found here.

The first thing I did after getting it all setup was to install BOINC (Berkeley Open Infrastructure for Network Computing) on it. There are a few things I need to do to improve the user experience of BOINC on Vista, for instance opening up the firewall so that the various components can talk to one another.

One thing I noticed is that services run in terminal services session 0 instead of the console session. This completely ruined my plans for a more secure design without the need of the local system account to display graphics for science applications. When you sign in with a real user account the console is moved to which ever session is assigned to the user logging in. I have not discovered a way to move an application window from one terminal server session to another.

My revised design up until this point was to create two user accounts for BOINC, one for boinc.exe to use and manage the sciences applications and the other one for the science applications themselves. Now the account for boinc.exe would manage the file permissions such that the contents of the BOINC directory itself would be off limits to the science applications and the account for the science applications would be limited to the project and slots directories.

Now to make all of the work with the screensaver involved the screensaver asking boinc.exe ‘Which user account is running the science applications?” which boinc.exe would pass back the name. Now the screensaver would proceed to modify the current desktop and window station ACL’s to allow that user to create and display windows within that desktop and window station. Then the science application would be informed of which windows station and desktop to display itself on. Everything was fine until Vista.

We may only be able to support the single-user installation scenario for graphics on Vista until I can figure out a better way to display graphics in the screensaver.

—– Rom