I wrote two applications which I have on my Desktop which I can't change the icons of.
The first is called was an app I wrote with Automator. After creating it, I was able to change its icon from the default Automator one to the Dock's app icon (as seen in System Preferences). When I installed MacOS 10.13 (High Sierra), the icon changed to the icon depicting my laptop model (MacBook Pro 13" with Touch Bar). I changed the icon back to the Dock. However, the icon change was not visible on the Desktop (though it was in Finder windows and Quick Look).
The other app was written in the programming language Racket (
racket-lang.org). I changed the logo from the Racket logo to my laptop (see path above). I am having a similar problem where the icon does not change.
Note that I renamed the new icons to the old icon's name to avoid problems.
For both apps, renaming the file fixed the problem, but I have a Service which runs the app, and renaming it would break the Service. Changing the name to its correct name puts the incorrect icons back in place. I have come to the conclusion that there is some sort of cache that stores the icons. How do I remove or reset this?