Migrating picasa from XP to Windows 7

windows 7 uses different locations for my documents and my pictures.

c:\documents and settings\username\My documents\My pictures
is now
c:\Users\username\Pictures

This is complicated by the facts that:

- "Documents and Settings" is a junction to c:\users (this junction is traversible)
- "My Documents" is a junction to Documents (this junction is NOT traversible)
- there is no junction from My Pictures to Pictures
- 'friendly' names like "my pictures" (supplied by Pictures/desktop.ini) are sometimes traversible, sometimes not (i.e. some applications will accept a path where "My Pictures" is referring to a directory physically named "Pictures"; other applications will try to find a directory physically named "My Pictures" and fail.)

Moving "Pictures" into "My Documents" (which is really Documents) will not work, because picasa cannot traverse the "My Documents" junction.

Solution:

open a command prompt and do a dir /a to see all the weird junctions

now, remove the "my documents" junction with

	rmdir "my documents"

create a new folder called "My Documents"

move the old "My Pictures" folder from XP into this new folder and make sure it's reachable as "my documents\my pictures"

copy the picasa database from

	C:\documents and settings\...\Local\Google\Picasa* (xp location)

to

	C:\Users\...\AppData\Local\Google (win7 location)

Run picasa

Now, for each folder in picasa, right click and do "move folder" and pick the new Win7 Pictures folder as the destination. This will make picasa update its database for all files in that folder.

When the old "My Pictures" is empty, delete the empty "My Pictures" and "My Documents" directories.

Then restore the junction from My documents to documents:

Open a command prompt with administrative rights and move to your user profile folder.
To begin with, create the junction:

	mklink /J "My Documents" Documents

Next, set the ownership of the link to SYSTEM (/L denotes that we work on the junction rather than the target):

	icacls "My Documents" /setowner SYSTEM /L

Third step, assign access rights to everyone (which is a denial of rights):

	icacls "My Documents" /deny Everyone:(RD) /L

Finally, set the junction to be non-indexed, hidden, and a system file:

	attrib +H +S +I "My Documents" /L

(From http://www.winvistatips.com/restore-users-profiles-junctions-t788928.html)