Recently, after upgrading a program (FileZilla in this case), the program’s icon would not display on the desktop (Windows 7). Even deleting and recreating the shortcut resulted in a broken icon (although, the shortcut itself worked fine). No amount of refreshing the desktop made a difference.
The quick fix was to rebuild the icon cache, as below:
Open a command prompt (does not need to be elevated), and run the following:
taskkill /IM explorer.exe /F del %userprofile%\AppData\Local\IconCache.db explorer.exe
The few lines above terminate the user shell (desktop, taskbar, etc); delete the icon cache, and re-launch the user shell. You can’t run the above multiple times without restarting as the icon cache may not be re-created simply
by restarting the user shell.