Apple must have realized of what we are doing by messing about with the Persistent ID and have introduced some changes in iTunes 10.0 to prevent this.
Among other changes (including an arguably worse application icon) they must have added some extra checking of the Library ID stored in the binary file of the iTunes Library (Tunes Library.itl
on Windows). It now contains some CRC or similar mechanism, which is used to verify that the Persistent ID stored in the file is actually the one generated when the library was created. This explains why if you change just the bytes that contain the ID, iTunes detects that the ID has been tampered and is capable of SILENTLY restoring the previous ID.
I did not have time to check where else in the binary file iTunes checks if the Persistent ID is what it claims to be… but I found a quick and dirty way to overcome this new security measure.
iTunes has a feature that allows rebuilding the binary version of the library in case it gets corrupted… and guess what, it does so by reading the data in the XML version.
So all that you have to do is edit the XML library, corrupt the binary version, and start iTunes … Et voilà! iTunes rebuilds a perfect 10.0 library for you using your new Persistent ID.
iTunes DB Cloner is a free Windows utility that does all this for you.
I would love to think that Apple will leave this feature in future releases. You can imagine the disaster it would be if your library gets corrupted by normal usage (i.e.: The computer unexpectedly powers off in the middle of an update) and you lost months of work classifying music 🙂
But who knows, Apple is becoming the figure of the Big Brother (IBM) they depicted in their 1984 commercial, so I would not hope this to last too long.
In the meantime, let’s enjoy some freedom to manage our iPhones in our different computers.