When testing various display resolutions or after completing a remote desktop session, the desktop icons may go out of order. Another case is that when you accidentally use the CTRL+ Scroll button (mouse) on your Windows Vista desktop, the Desktop icon size changes. But reverting back to the original icon size does not restore the custom icon positions on your desktop. In these cases, you need to revert back the custom icon positions manually.
(See related and a recent article Save and Restore Desktop Icons Position Using DesktopOK – a standalone program for all versions of Windows, and for both 32 and 64-bit.)
The Layout.dll shell extension from Microsoft Windows NT Resource Kit tools, can be used to Save and Restore Desktop icon layout. Good news is that the extension works well under Windows 2000, Windows XP and even in Windows Vista.
Installing the Layout.dll shell extension
- To add the shell extension, download layout.zip and save it to a folder.
- Unzip the archive and extract the files to your Desktop.
- Move the file LAYOUT.DLL to the Windows\System32 folder.
- Right-click LAYOUT.REG and choose Merge. Click Yes when asked for confirmation.
Note: Store the file layout.zip in a safe location if you need to uninstall the shell extension at a later time. You may use the file Uninstall.reg (included in layout.zip) to remove the entries from right-click menu.
Saving and Restoring desktop icon layout
After installing the shell extension, you’ll see two context-menu options namely Save Desktop Icon Layout and Restore Desktop Icon Layout when you right-click on an empty area on the Desktop. (Tip for advanced users: You can implement the shell extension in My Computer or Folder context menu as well.)
When you click Save Desktop Icon Layout, the Desktop icon positions are saved to a binary registry value, and you see the following message box:
Fig 1: Saving the desktop icon layout
Fig 2: Restoring the desktop icon layout
Uninstalling the Layout.dll shell extension
To uninstall the Layout.dll shell extension, right-click the file Uninstall.reg (available in layout.zip) and choose Merge. Then manually delete the file LAYOUT.DLL from your Windows\System32 folder.
Editor’s note: I noticed a small glitch in this extension. When two files of the same name are present on the Desktop (one in the per-user Desktop and another file with the same name, from the All Users Desktop folder), the shell extension overlaps the two icons that have the same name, and leaves a blank space before the icon. Therefore, rename one of those two files if you can, when using the Layout.dll shell extension. As Windows Vista shows two desktop.ini files on the Desktop, you’ll need to hide them or delete one of those desktop.ini files in order for the Layout.dll shell extension to work perfectly.