iTunes Sync Error: iPhone cannot be synced. An unknown error occurred (-54)
Error -54 is a file permissions issue.
Here are a couple of methods to reset common errors...
Fix the iTunes folder permissions
Open the Start menu &amp; type %userprofile% (including both % symbols) then hit Enter you should see the My Music folder, which is the default location for iTunes music files.
Open My Music, select the iTunes folder
Then, make sure you have sufficient control over the contents of that folder -

right-click on the folder, go to Properties
Security tab, Advanced..
Permissions tab, Change Permissions...
click your account name in the list, make sure it says 'Full Control' [if not, reply to that effect &amp; we will need to revise this answer]
check the box underneath for &quot;Replace all child object permissions with inheritable permissions from this object&quot;
click OK. That should recursively give correct permissions right down the folder hierarchy.

Try your sync again…

Additional method, if the first doesn't work…
Restore TrustedInstaller permissions

Right click on the file or directory.
Click on “Properties” on the right click menu.
Click on “Security” tab.
Click on “Advanced” button at the bottom.
In Advanced Security Dialog window, click on “Owner” tab.
Here you will be able to see current owner (i.e. Trusted Installer).
To take ownership of the object, click on the Edit button. Give permission to UAC. Then highlight the user name in the “Change owner to” box that you want to assign as the owner for the object. Click “OK” to finish the process.
Back in Advanced Security Settings window, you will see the current owner has changed to the user you just selected.
Click “OK” button to exit this window.
Click “OK” again to exit completely from the Properties window.
Repeat step 1 to 4 to open the object’s Properties window again.
Back in object’s Properties window, click on Edit button, and confirm the UAC elevation request.
Highlight the Administrators in the “Group or user names” box. If the user ID or group that you want to manage the permissions for the object doesn’t exist, click on “Add” button, and type in the user name or group name desired into the “Enter object names to select (Can use Everyone as user Name)” box, and finish off by clicking on “OK”.
In the Permissions for Administrators box below (or any other user name or group name you chose), click on “Full Control” under the “Allow” column to assign full access rights control permissions to Administrators group.
Also refer this link
http://windows.microsoft.com/en-us/windows-vista/Troubleshoot-access-denied-when-opening-files-or-folders

Update June 2016
Apparently, the layout of the perms windows has changed in Win 8 &amp; later - see
Set Folder Permissions in Windows 8 or 8.1 Computer or
How to Take Full Ownership of Files &amp; Folders in Windows 8 / 10 for further info.
If neither of the above methods works...
There is a utility called Windows Repair (All-in-One) by tweaking.com which I would highly recommend for a non-expert way to ensure Windows has all its correct defaults.
It is not any kind of &quot;go-faster&quot; tool, it doesn't speed up your machine in some 'magical' way. It just makes sure everything is as it should be. It won't break anything, so long as you follow the instructions precisely.
The free version is all you need, though personally I bought the pro version just to reward the author. [I have no affiliation, it's just saved my neck enough times to be worth recommending]