Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
starting the games is not problem because steam does not use any file path for that.
if you want icons back, delete them and in Steam "rightclick -> create shourtcut" for every game you need.
shouldn't take too long to do this.
When you migrate Steam you are supposed to only copy steam.exe and the steamapps folder from the old location to the new one. That's great, and the rest of the process works - except for the now-broken icons.
The shortcut files are .url files. Let's look at the internals of one (I used Cygwin 'vi' from the command prompt - otherwise you end up editing the executable the shortcut points to rather than the shortcut file itself!). This is for Carmageddon:
Of note is the IconFile value: we see the path and an icon file. Turns out, that icon file isn't getting re-generated, even if you re-create the icon (in fact, if you use Steam to re-create the icon you'll see the IconFile entry is entirely empty!)
The fix is pretty simple: copy all the .ico files from steam/games from the old location to the new one (there will be some other files there already you don't need to clobber), and then update the shortcut .url file for each game to reflect the new icon path.
Now, what if you deleted the icons? That... I'm not so sure about, but there are scripts in this thread that will go off and get all the icons from the store. Seems there should be an easier way but that'll at least get you the icon files (I do not yet know how to map the SHA1 hash that is the icon name to the game name).
Update: Note that if you do the "Create Desktop Shortcut" thing from Steam *after* you copy the icons from the old steam/games to the new steam/games folder, it works! But having the icon files is crucial to this. I think I'll file a bug.
https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/<ID>/<SHA1NAME>.ico
e.g.:
https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/249380/d5abb3e97d4baaac996235388a17a134c0ec97ac.ico
I'm surprised it's not under here somewhere, but if it is it's not clear what the path or name would be:
https://steamcdn-a.akamaihd.net/steam/apps/249380/
Anyway, there you have it - how to (manually) obtain and use the right icon, even if you lost it in the migration!
thanks to martymacgiver's information i could write a python script to batch download all icons from steam based on the desktop shortcuts (.url files).
here: http://pastebin.com/NZnYdbPS
it goes through every .url file on your desktop and extracts the id of the game and the hash of the icon. it then downloads the file to the steam\steam\games folder. afterwards refreshing the desktop should be enough to fix the icons.
you need python 2.7 for this and you need to edit your desktop path inside.
Thanks for the reply :) Better late than never!!
```
#python 3.12
"""info about this script and paths"""
pathtoiconfolder = r"C:\Program Files (x86)\Steam\steam\games\\"
#this is the path to the icon folder, edit this if you have a different steam folder
#the path needs a double backslash at the end
pathtodesktop = "C:/Users/consocowindowsusername/Desktop/" #EDIT THIS
#this is the path the script will search for .url shortcuts
#needs forward slashes!
#spaces in this path will probably break the script, in that case you should make a folder somewhere else and put the iconless .url files there
#AFTER THIS SCRIPT
#just right-clicking on desktop and refreshing should be enough
#reasons why this script may break:
# the .url shortcuts in your desktop folder don't have the right format or don't include the steamid and icon hash
# ^^ this is probably because the shortcut was created when there was no proper icon in the steam icon folder
#in any case you should start it from command line and read the errors
"""script"""
print("starting")
if pathtodesktop=="C:/Users/consocowindowsusername/Desktop/": #if some idiot does not put in his windows user name
print("error: wrong desktop path, read the python file and edit it")
exit()
import glob
import os
import urllib.request
def dothething(pathtourlfile):
print(pathtourlfile)
with open(pathtourlfile, "r") as urlfile:
a = urlfile.readline() #only lines 4 and 6 of the .url files have important info
a = urlfile.readline()
a = urlfile.readline()
a = urlfile.readline()
a = urlfile.readline()
steamid = urlfile.readline()[22:-1] #gets steamid of game
hash = urlfile.readline()[-45:-1] #gets sha1 hash / filename of .ico file
if steamid!='' or hash!='':
urlstring = "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/" + steamid + "/" + hash #put together url for download
else:
print("error" + pathtourlfile) #error in case the .url file didn't have the hash and steamid inside
if steamid!='' or hash!='':
print(f"retrieving {urlstring}")
urllib.request.urlretrieve(urlstring, pathtoiconfolder + hash) #download and save to the icon folder
listofdoturlfiles = glob.glob(pathtodesktop + "*.url")
print(listofdoturlfiles)
for item in listofdoturlfiles: #iterates over list of shortcut files
dothething(item)
```