counter on godaddy
post

Using Picasa on Multiple Computers – The Updated Definitive Guide

Picasa

My 4-year old how-to guide, Picasa Photo Sync on Multiple Computers has attracted tens of thousands of viewers, and is still quite popular.  In fact too popular, thanks to Google.  I can’t believe people actually read it today and try to follow the advice therein… it’s and OLD post with outdated information.  I’ve long struggled trying to find a better solution… and now that I have it … drumroll … but wait, first things first:

What’s the problem with Picasa?

Picasa is my favorite photo management program, and hey, it’s hard to beat free!  Yes, I believe SaaS is the future of computing, and I do keep many photos online (just canceled Flickr Pro in favor of PicasaWeb), but quick-and-dirty manipulation of large image files en masse is still easier, faster on a local PC.  Or one of the computers I use – if only I could.  It’s hard to believe that Google, an undeniably Web-centric company would create an application that’s designed to be used by one single user and one single computer – that’s stone-age vision, and again, is very antagonistic to being a visionary Web company. 

Picasa does not save your edits in the image file itself, rather it uses a set of system files: picasa.ini files in every photo folder and a bunch of proprietary databases in two hidden system directories.  This is actually a good concept, you can experiment and safely revert back to the original –  trouble starts when you want to move to a new computer, or God forbid access your photos from multiple computers – some of the associated changes will come through, others won’t.  You will soon have multiple versions of the databases and sometimes of the images themselves, and that leads to chaos. 

Early Solutions

The original concept in my previous guide was based on syncing the hidden Picasa databases between all computers involved. It worked for a while… then I started to see corrupted databases, so I abandoned synchronization.  In the meantime wireless home networks became more robust, so instead of redundant chaos, the next best option was maintaining once central Picasa home-base, and accessing it from other computers via the network.  This could quite easily be done by mapping the main computer’s drive as a network drive, say P: (for Photos or Picasa), setting Picasa on all the satellite computers to forget the local Pictures folders and only scan the new P: drive. 

In this setup Picasa still had to index all images it read from the network and recreate a local database on the individual computers, so the solution was quite redundant – but worked relatively well.  Through a succession of new releases Google moved more information on user edits into the per-folder Picasa.ini files, so the system was able to rebuild the database almost completely.  Cropping and some other information was still missing, so you could never be 100% certain you were looking at identical version of your images.  The safest way to avoid confusion and different views of the same photos was to make a policy of only editing images on the “main computer” where they were stored, thus rendering all other networked computers to passive viewers only. 

There has to be a better solution.. one that allows any member of the family (and any user account) using any computer on a network to share the one and only Picasa database – view and edit all the same, with any changes, tagging, editing immediately saved no matter which computer is being used.   Yes, there is one – keep on reading :-)  But first some disclaimers:

  • I’ve tested the solutions below in Windows 7
  • They should work on Vista, too, and I believe there is a logical equivalent under XP, but I’ve never checked it
  • These solutions work for me, but I can not guarantee they will work for you – experiment at your own risk
  • Before making any changes, do back up your Picasa database (both photos and the system data)
  • Even if everything works, there’s no way knowing if a future Picasa release will change it all…
  • I’m not a Windows Guru, and make no claims that this is the best or most elegant solution – just one that works for me
  • I cannot provide individual support – you are welcome to comment / contribute below, and may get a response from another reader, but I can not make promises.

Now, we’re ready to rock and roll …

Sharing Picasa Between Multiple User Accounts on the Same Computer

You may only be interested in the multi-computer setup, but please read this chapter anyway, as we will build on the logic outlined here when we expand to a network setup.

Move your photo library to a public location

By default most photos are stored at user account specific image libraries, with a default path similar to this in Windows 7 and Vista:

C:\Users\username\Pictures  

You could fiddle around with sharing / security properties to enable other user accounts access this image folder, but moving your photos to the public folder is a much cleaner solution.  The new destination is:

C:\Users\public\Pictures

Although the easiest way to move folders is from Windows, it’s always better to do it within Picasa, to allow it’s databases be updated properly.   If you use nested folders, you’re in luck, you can just right click on the top-level folder, select “Move Folder”, pick the new destination, and you’re done.  (If you have nested folders but don’t see them in Picasa, change from “Flat View” to “Tree View” in the main View menu.)  If you have a lot of flat folders, this may be a cumbersome process, but it’s one-time only.

This was easy … now close Picasa and let’s get really started :-)  Two reminders before we start:

  • you’ll need to do all this using an account with Admin privileges
  • backup, backup, backup (your photos and system folders / files)

Move Picasa’s internal databases to a public folder

The internal Picasa databases are originally in two system folders in Windows 7 / Vista:

C:\Users\username\AppData\Local\Google\Picasa2

C:\Users\username\AppData\Local\Google\Picasa2Albums

You’ll need to create a new home for these two folders, for example this:

C:\Users\Public\PicasaLib

Now move the Picasa2 and Picasa2Albums folders to the newly created PicasaLib folder, so their new locations are:

C:\Users\Public\PicasaLib\Picasa2

C:\Users\Public\PicasaLib\Picasa2Albums

Well done. Too bad Picasa is still looking for these databases in the old place…

Trick Picasa into finding the new database location

At this point you should no longer have a Picasa2 and Picasa2Albums folder in your C:\Users\username\AppData\Local\Google\ folder – if you do, you likely copied them to the new destination instead of moving.  If that’s the case, please delete them now – we can’t have real folders with those names here, since we are going to replace them with Symbolic Links that look just like the deleted folders but will actually redirect Picasa  to the new location.

For the next steps even though you’re logged into a user account with Admin rights,  you will need an elevated command prompt. If you’re like me and can’t remember hot-key combinations, here’s how to get it: Click the Start menu and type cmd in the run box, but do not hit enter. Instead, find cmd.exe at the top of the list, right-click on it, then left-click Run as Administrator.

Now you’re in a command box that reminds you of good old DOS.  Navigate to the original Appdata folder:

cd  \Users\username\AppData\Local\Google   

Now type these lines exactly as you see them:

mklink /d Picasa2  C:\Users\Public\PicasaLib\Picasa2

mklink /d Picasa2Albums C:\Users\Public\PicasaLib\Picasa2Albums

You have just created two entries that look like the Picasa2 and Picasa2Albums folders but actually point to their newly created location.

Update and verify Picasa for each user

Open Picasa, go to Tools > Folder Manager and make sure only the new public destination is selected, nothing else – certainly not user specific libraries.

Repeat the above relocation steps for all other users on the same computer, and check their Folder Manager setting in Picasa.

You’re all set!  All users now have shared access to all public photos, and edits, changes, thumbnails..etc are all maintained in a central database instantly available to all users.

Warning: I have not tested what happens if multiple users try to update the databases at the same time, but I assume it is not a very good idea.  Best practice is probably avoid using quick User switching all, rather log out of one user before logging into another one, but at a minimum, even if you do quick switch, don’t leave Picasa open in two user accounts at the same time.

Picasa on Multiple Computers

This is what you’ve been waiting for…  we’re actually very close, the logic is surprisingly simple: map the drive that has our Picasa library and databases as a network drive, say P, then apply the tricks we’ve just learned doing the multi-user setup on the same computer, but now the symbolic links will point to the public folders on the P: drive, and voila!

Well, almost…too bad there are a number of quirks that we have to deal with first.  Let’s take them up one by one.

Your network layout

If you have a NAS drive, which is for passive storage only, accessed by several computers on the network, than the above solution will work, since you can map the NAS drive to the same drive letter on all computers.  But if your network is like mine, i.e. there is no NAS,  Picasa resides on one of the actively used computers which all others access, then you run into all sorts of trouble.  Here’s why:  Picasa stores the result of your “watched folders” configuration in a plain text file named watchedfolders.txt in the Picasa2Albums folder.  But we’ve just moved that folder to our shiny new PicasaLib to be shared by all instances of Picasa – that means they can not have different “watched folders” set per instances.

The problem is, the “main” computer will consider Picasa storage as its C: drive, while all others have to refer to it by another drive letter, since C: is reserved for their own hard disk.  If you have both P: and C: drives as “watched folders”, all hell breaks loose: Picasa will start copying the folders to the local computers, in the wrong folders, wrong labels, resulting in total chaos (I’ve been there…).  So once again, we’ll cheat: find a way to refer to the central PicasaLib under the same drive letter from all computers.

Re-mapping the “server”

Not a true server, but playing that role in this case: this is the computer that has all the Picasa files and that we’ve just set up for multi-user access in the previous exercise.  We want to use the P: designation, but can’t simply rename our main hard disk, nor can we map it as a network drive, so we’ll apply the symbolic link trick again: set up a link from the root folder to the public folder.  Steps:

Get an elevated cmd prompt (see details above)

cd \   (back to root folder)

mklink /d P  C:\Users\Public\   (create the symbolic link)

You now have what the system thinks is a P folder, and can use it in the Picasa “watched folders” definition.  Which means you need to start Picasa, then navigate to Tools > Folder Manager, and select \P\Pictures as the folder to watch – unselect everything else.  For a few minutes you’ll see heavy activity, and for a while Picasa may show duplicate folders, double the number of pictures you really have, but will eventually sort it all out. 

Setting up the “clients” or “satellite” computers

These are the computers that have no local Picasa information, we just use them to access our main libraries from the “server”.  Ideally we would just map the public drive on the server as a network drive under P: but we’ll run into a syntax problem.  On the main computer Picasa will prefix our watched folder setting, changes \P\Pictures to C:\P\Pictures, which works just fine on the main computer but not on the satellite ones.   Picasa’s watchedfolders.txt does not accept a \\Computername\Foldername designation, it has to look all local.

So we go back to our friend… yes, you guessed it right, symbolic links. But now even this old friend lets us down: we cannot define a symbolic link to a network folder, only a local one. Oh, well, we’ll outsmart the system again, by combining network mapping with symbolic linking: we’ll map the network drive to an interim name first, then link to this interim drive-name.  Steps:

From windows, map the \\MainComputername\Users\Public\ folder as drive O:

Make sure there is no Picasa2 or PicasaLib folder in \Users\username\AppData\Local\Google

Get an elevated cmd prompt

cd \  

mklink /d P  O

cd  \Users\username\AppData\Local\Google

mklink /d Picasa2  O:\PicasaLib\Picasa2

mklink /d Picasa2Albums O:\PicasaLib\Picasa2Albums

Repeat the last three steps for all user accounts that should access Picasa from this computer.  Logically now you would have to open Picasa and changed the watched folders to P\Pictures, but there’s no need: it’s already set up on the server machine and you’ve just told Picasa to pick all parameters and data from there.

In other words, you’re all set.  Needless to say, this only works as long as your “server” is turned on:-) but then all computers on your network will see the very same photos, and all editing, manipulation, face or geo-tags, albums… are immediately updated in the central database and reflected on all computers, no matter where you originate them.

Warning:  as stated before, I have not tested what happens when multiple users access / attempt to update Picasa data at the same time, but I assume it’s not a very good idea.  We’re ‘cheating’ here, Picasa was not designed to work in a multi-user environment, so let’s plat safe: only one computer and one user should access it any one time.

Conclusion

We’ve just turned a hopelessly single-user, single-computer product into a networked one. Sort of. :-)  It’s obviously just a workaround, and…well, read my disclaimers again.

Now, let’s remember, Google isn’t really a PC or local network software company. They are The Web Pioneers. I think the long term solution will be much stronger integration with Picasa Web Albums.  Currently you can mark your folders / albums to synchronize with the Web version, but it’s one way, from PC to Web only.  That’s not what I call full synchronization.  If you change anything in Web Albums, it’s not reflected back to your local Picasa library.  I believe the future is full two-way – actually multi-directional – synchronization, where Web Albums become the conduit between any number of client computers that access Picasa.  It’s not impossible, services like Syncplicity do similar synchronization – Google Picasa has to embed it in their Web capabilities.  It’s time for Google to create the seamless online / offline photo management environment.

(This how-to guide was originally posted as Part 1: the Problem and Part 2: the Solution @ CloudAve)

Comments

  1. great post :)
    thanks for sharing this tips :)

  2. Thanks for the tips you have posted it really works

  3. fishmonger says:

    I am trying to share Picasa 3 between multiple accounts on my computer…is there a different process for P3?

  4. @fishmonger, the above writeup is based on Picasa 3.6 – they just did not change the folder naming conventions.

  5. Henry Days says:

    This strategy could work copying the picasa database to a NAS and mapping the local picasa database folder to a Symbolic Link to NAS, don't?
    I'll try later.

    Great post. Google should public this post in Picasa Help. :D

  6. the_roggy says:

    For information, I created a little application that makes this possible as well (but works also on windows XP)… and is easier to use. To be found here:
    http://sites.google.com/site/picasastartersite/ho

  7. Hello
    Im not trying anything difficult. All I want is to keep a copy of all my picture folders under MyPictures on my main machine and my plugin backup drive so that Picasa will look at the folders for new pictures on my main machine (which it does now) and then copy them automatically to the backup drive. I often go back and change pics in earlier folders and it would be nice if Picasa could find the new files and transfer them to the same folder on my backup. I just dont know how to synchronise the two drives.
    Thanks

  8. you can create a P: drive on main computer using "subst" command.
    but better than that, you can create a persistent subst accross multiple users and multiple reboot, using "psubst" command, that can be found with google.
    one more thing you should address is : what happens when different versions of picasa use the same database !
    I'll give it a try asap, as It looks better than xnview portable that I currently use.
    regards, Xtian

  9. I saw that dropbox was one solution and the freefilesync was another.
    If there a simple do 1 then 2 then 3 summary for a best practice?
    I want to have my pictures on one computer and access them from that computer and another computer.

  10. Alan Robertson says:

    One note for Windows XP and 2000 users:

    mklink does not exist. You have to use a program called linkd.exe which is available for free in the Windows Server 2003 Resource Kit Tools. A google search for ‘linkd.exe download’ should get you there.

    Once the resource kit is installed, you can create the symbolic links by replacing ‘mklink /d’ in the above commands with ‘linkd’.

    Also, the question was asked about Picasa3. The process is the same. The folders you have to move and link are still called Picasa2 and Picasa2Albums even though you have Picasa3 installed.

  11. Thanks for the detailed guide! I'm actually trying to do something different, but perhaps related. My old computer (with Windows Vista) had died, but I was able to retrieve the photo and database files. When I installed Picasa on my new computer (using Windows 7), the order of the photos no longer remained the same (although thankfully all my previous edits of photos remained), apparently because I had only transferred over the photos (and no other application data).

    So, I replaced the two Picasa folders (in the Application Data folder) with my folders from the old computer. However, that alone did not seem to work. When I opened Picasa, it showed no content on my computer, and I just had to manually have it search for my photos, after which it still did not retain the folder properties from before. Any suggestions?

    Thanks!

  12. Do you mean 2 users cannot access the same file on the NAS at the same time or only 1 user in the database at a time from any workstation…

  13. Does it work as well in the same computer, but multiple OS boot? I have vista and linux, and keep all pictures in a separate partition.

  14. This workaround creates a problem when importing pictures into picasa.
    I think it’s easiest to explain with an example:
    - My photos are stored in Z:\Picasa\Photos (a network drive)
    - Picasa thinks my photos are stored in D:\Picasa pictures
    - I open the dialog to choose a location to import your pictures to.
    - I navigate to D:\Picasa pictures
    - Picasasa/Windows now follows the symlink and indicates Z:\Picasa\Photos as your import location
    - If I now go ahead and import, Z:\Picasasa\Photos is added to my library. But since the photos are also in D:\Picasa pictures, which is being watched, they are added twice.

    So either I need to remove the new folder in Z:\Picasa\photos from the Picasa library, or I need to add the folder in windows explorer manually. Very annoying.

    It almost doesn’t seem the trouble, because I can only use it to manage my picasa collection on my laptop while still at home (because I need to be on my wifi). And when I’m at home, it’s not that much trouble to just go to my desktop and do it.

  15. I have an interesting solution using git (a version control system) for my Picasa Internal Database. http://www.scottpreston.com/articles/1387.php

  16. Steve Smith says:

    Thank you very much for a very eloquently written “How To”. It was a stretch for me to follow but I got there in the end and I’m sure it’s going to be very useful; both having Picasa setup to share a common photo folder but perhaps even more useful will be the experience with the mklink command.

  17. Seems that after creating my PicasaLib symbolic link folder and after switching from watching my “F:\Photos” folder to watching my “C:\P” folder (which is a symbolic link to “F:\Photos”, I have a problem. Every time I open Picasa, it goes through the “Updating thumbnails” process again (no thumbnails exist) and all of my face tags are lost. Any ideas what this might be caused by? I didn’t even setup other computers yet to share my Picasa photos or database.

  18. I have two PC = each with different photo stored in Picasa, one user on both pc’s.

    I want to combine all photos to one pc.

    Can you tell me how to do this without writing over any photos and will the name tags transfer or not?

    Thanks so much!

  19. Stephen Lea says:

    Nearly 3 years on, this is still the best advice I’ve found on this obviously needed facility. Thank you very much. And, by the way, it works just the same on Windows 8.

  20. a wonderful post! but, imho this is insanity. picasa, as good as it is is not worth all that hassle. a clean approach? switch to a photo management program that makes direct changes to the file.

Leave a Reply

%d bloggers like this: