Sharing Google Picasa Libraries between users on the same computer
January 27, 2008 6 Comments
After a few years of using Adobe Photoshop Elements, last year we switched over to using Google’s free Picasa for organising our photo collection. Consecutive versions of Photoshop Elements were just getting slower and slower mainly it seemed due to waiting for the ‘kewl’ interface to redraw itself. Picasa is really slick and fast on our 2.8GHz Pentium 4 home PC. It can also upload our photos for printing to PhotoBox, and share them online using Google’s own Picasa Web Albums.
Photoshop Elements keeps all of your photo tags and collections in a ‘*.psa’ database file (which is actually Microsoft Access database). The useful thing we found about this was that we could share all our photo collection settings and tags between users. Picasa, on the other hand, stores its settings in hidden Picasa.ini files in your photo directories as well as in your local app settings user profile folder (buried in ‘Documents and Settings’ on Windows XP or the ‘Users’ folder on Vista). The problem with this is that you can’t share your Picasa library between users on the same machine as Picasa is hard-coded to look in the currently logged on user’s profile directory, and can’t be coaxed to look elsewhere, such as a shared location.
So to workaround this, you can take advantage of a feature of NTFS called junctions, which allow you to wire up one folder to another (or symbolic links, I’m not sure what the difference is, but the end result is the same). Windows Vista has a command-line tool called MKLINK which will create these. On Windows XP you will need to use the Sysinternals Junction command-line tool. Here’s what I did:
- Copy %LocalAppData%\Google\Picasa2 and Picasa2Albums to a shared location to which all users will have Modify access. (I chose C:\Users\Public\AppData\Local\Google on Vista, it’d be something like C:\Documents and Settings\Public on XP)
- Rename %LocalAppData%\Google\Picasa2 and Picasa2Albums e.g. “Picasa2.old” and “Picasa2Albums.old”
- Use MKLINK (Vista) or Junction (XP) to create a junction from
%LocalAppData%\Google\Picasa2Albums to <SharedLocation>\Google\Picasa2Albums
- Repeat steps 2-3 for each user for whom you want to share the Picasa library
Of course this may break with a future version of Picasa, so proceed with caution and don’t blame me if it all goes horribly wrong.