Windows saves the desktop icon layout when the user logs off, and the setting is read during logon. Recently I came across a case where the desktop icons rearrange to their default positions after a restart or logoff/logon cycle. This turned out to be a Permissions issue with a registry key, which kept Windows from writing to it. Are you experiencing the same problem in your Windows XP/2003/Vista/7 PC? If so, here is a solution that you can give it a go.
Step 1: Terminate Explorer (Shell) Cleanly
Instructions for Windows XP
1. Click Start, Turn Off computer.
2. Press and hold the CTRL, ALT and the SHIFT keys, and click the Cancel button.
Instructions for Windows 7 & Windows Vista
Click Start. Press and hold the CTRL & SHIFT keys, and right-click on an empty area in the Start menu. Click the Exit Explorer option.
The above step causes Windows Explorer (shell) to terminate cleanly.
Step 2: Fix Registry Key Permissions
1. Switch to Registry Editor window, and navigate to the following key:
2. Right-click on the Desktop key, and choose Permissions
3. Click Advanced, and delete any "Deny" entries if present.
(While you’re in that screen, make sure that your user account has "Full Control" (Allow) Permissions for the registry branch.
4. Click OK, OK.
5. See if you can create a sample registry value in the Desktop key to test if you can write to the branch.
Step 3: Reset the Desktop Icon Layout Registry Key
This step is required only if the problem remains unresolved although you’re able to write to the Desktop registry key.
1. Using the Registry Editor, rename the key Desktop to something else, say OldDesktop
2. Exit the Registry Editor
3. Press CTRL + ALT + DEL to open Task Manager
4. From the File menu, click Run. Type Explorer.exe and press ENTER
5. Customize the desktop icons layout as you require, restart Windows and check if the icon positions are retained.