Creating shortcuts in Windows 10
When I've just freshly installed Windows 10, I reinstalled Steam where I had it previously on a separate disk than Windows. It immediately picks up all the games I had installed last time. Great! However... it doesn't create shortcuts in the start menu. :csdmeh: And I'd like to pin a few games in my live tiles.

"Just right click any game and select 'Create desktop shortcut' and drag that into the start menu.", you must immediately think, but that doesn't work anymore in Windows 10! When you try dragging a link into the start menu it gives you a "you cannot do this" icon.
Deleting local content and then downloading it again, ticking the option to create a shortcut in the start menu, does work, but is quite a hefty solution for such a small problem.

Anyone has a solution to this, other than re-downloading all games?

EDIT: Solution(s) are below in this thread.
Viimeisin muokkaaja on Wicked Mouse; 11.8.2015 klo 6.19
< >
Näytetään 1-15 / 29 kommentista
Well, it seems like you can't pin shortcut links (by default, on Windows 10).
Just had a look - when you choose the option "Create Desktop Shortcut" (from Steam), it creates an Internet Shortcut - a url, which, (I assume) is not pinnable by default.

One method:
From Steam - Right click on a game > Properties > Local Files > Browse Files > Right click on the main game executable (e.g. hl2.exe for Half Life 2 games) > Pin to Start

There may be a faster way to get it done though (apart from the initial installation options).
Viimeisin muokkaaja on Terminus; 8.8.2015 klo 8.45
Well that's a start! :B1: Not the fastest solution, but it works. The pinned tile will bear the name of the executable though. So one has to right click it -> "Open file location" and there rename the shortcut/link.

But at least it's a solution! Thanks! :steamhappy:

EDIT: odd thing is that shortcuts dragged into that folder aren't picked up and cannot be pinned. Excellent work!
Viimeisin muokkaaja on Wicked Mouse; 8.8.2015 klo 8.53
Oh an extra note: following the above method launches the game directly and not through steam. So according to steam you're not playing the game then.
Viimeisin muokkaaja on Wicked Mouse; 8.8.2015 klo 14.57
I worked out how to pin the created desktop shortcuts:

  • Click/tap: Start -> All Apps -> scroll down to the Steam folder (or click a letter then click 'S') -> unfold the Steam folder -> Right click the Steam item -> Open File Location.

  • You should be directly brough to the following folder:
    C:\Users\<User Name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Steam

  • Drag any shortcut you create from your desktop into this folder. They will now appear under All Apps, where you found Steam.

  • From there pin each shortcut you created to Start

  • Done!
Viimeisin muokkaaja on Wicked Mouse; 8.8.2015 klo 15.15
Perhaps Steam may implement a Create Live Tile (Start Menu) option in the near future (in addition to Create Desktop Shortcut).

If you require "Live Tiles" for Steam games - have a look through the third party application: "Steam Tile" (Microsoft Store) - https://www.microsoft.com/en-US/store/apps/Steam-Tile/9WZDNCRFHZKV
Yeah seen it in the store, but it does not appear to be working. At least I found a manual solution :)
Viimeisin muokkaaja on Wicked Mouse; 8.8.2015 klo 16.29
And now the ideal way:
Get steamcmd from here
It's an official commandlinetool from valve.
Put it into your steamfolder.
Now open Powershell (just type it into the searchbar and hit enter)
Browse to your steam installation directory by entering

cd C:\Program Files (x86)\Steam\ [enter]

(Adjust according to your installation dir)

now copy and paste the folowing into powershell and hit enter:

function executeSteamCmd {
Write-Host "Executing Steamcmd"
if($PSScriptRoot){
$myScriptRoot = "$PSScriptRoot\"
}
$arguments = @()
for($i=0; $i -lt $args.count; $i++){
for($j=0; $j -lt $args[$i].count; $j++){
if($args[$i].GetType() -eq [String]){
$arguments += $args[$i]
break
}
$arguments += $args[$i][$j]
}
}
#forcing the pipe to flush by spamming some useless output
for($i=0; $i -lt 50; $i++){
$arguments+="+app_info_print 0"
}
$arguments+="+quit"
[string]$out= & (Get-Item "$($myScriptRoot)steamcmd.exe").FullName $arguments
$out.subString(0, $out.IndexOf("AppID : 0,"))
}



function createShortcut{
if($PSScriptRoot){
$myScriptRoot = "$PSScriptRoot\"
}

Write-Host "creating Shortcut"
$shell = New-Object -comObject WScript.Shell
if(Test-Path "$Home\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Steam\$($args[0].Name).lnk"){
Write-Host "skipping shortcut $Home\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Steam\$($args[0].Name).lnk (file already exists)"
return
}
Write-Host "creating shortcut $Home\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Steam\$($args[0].Name).lnk"
$lnk = $shell.CreateShortcut("$Home\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Steam\$($args[0].Name).lnk")
$lnk.TargetPath = (Get-Item "$($myScriptRoot)steam.exe").FullName
$lnk.Arguments = "-applaunch $($args[0].AppID)"
if(Test-Path $args[0].Icon){
$lnk.IconLocation = $args[0].Icon
}else{
$lnk.IconLocation = $args[0].Path
}
$lnk.Save()
}




[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
if($PSScriptRoot){
$myScriptRoot = "$PSScriptRoot\"
}
Write-Host "start"
if(-not (Test-Path "$Home\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Steam\")){
mkdir "$Home\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Steam\"
}
$tmp = (executeSteamCmd "+apps_installed" | Select-String "AppID (\d*) : `"([^`"]*)`" : (.*?) " -AllMatches).Matches
$installed = @()
for($i=0; $i -lt $tmp.count; $i++){
$installed += (,@{"AppID" = $tmp[$i].Groups[1].value; "Name"=$tmp[$i].Groups[2].value.replace(":",""); "Path" = $tmp[$i].Groups[3].value; "Icon" = ""})
}
$arguments = $installed.AppID|%{"+app_info_print $_"}
$tmp = ((executeSteamCmd $arguments[0..$arguments.count]) | Select-String "AppID : (\d*),.*?`"clienticon`"\s*`"([^`"]*)`".*?`"executable`"\s*`"([^`"]*?\.exe)`"" -AllMatches).Matches
#"
for($i=0; $i -lt $tmp.count; $i++){
$installed[$installed.AppID.indexOf([string]($tmp[$i].Groups[1].value))].Path+="\$($tmp[$i].Groups[3].value)"
$installed[$installed.AppID.indexOf([string]($tmp[$i].Groups[1].value))].Icon="$($(Get-Item "$($myScriptRoot)steam\games\").FullName)$($tmp[$i].Groups[2].value).ico"
}
for($i=0; $i -lt $installed.count; $i++){
createShortcut $installed[$i]
}



This creates reall shortcuts (.lnk) instead of .url files into your startmenu in a folder named steam.
Those shortcuts can be found by the search, pinned as a tile and have the icons set according to the game they are for.
The script does NOT overwrite any preexisting lnk files.

Note: steam uses ':' in game names. The script simply removes them, as they are not allowed in filenames. The script doesn't check for any other unallowed characters, it may fail for some games.

Note2: You can also save the script into a file into your steamdirectory with .ps1 extension and execute it via '.\scriptpath\scriptname'.
You may need to execute 'Set-ExecutionPolicy RemoteSigned Process' before the script, to allow scriptexecution for the duration of the powershellsession.
Right... Looks like an aweful lot more trouble than I suggested :steammocking:
Wicked Mouse lähetti viestin:
Right... Looks like an aweful lot more trouble than I suggested :steammocking:
Download a file, open console, paste text, hit enter -> every installed game is ready to be started (and searched!) from the startmenu
VS
create a shortcut for every single game you have installed via a contextmenu, hit ok to dismiss the messagebox about the creation, move the shortcut to the startmenu folder and still be not able to search for the shortcuts via startmenu.

I know MY favorite =D
Depends on how many you have, I guess :p
Not wishing to revive the dead but there is an app called Steam Tile which can be used with our steam ID's to help easily create pinned icons, free and works very well so long as you set your profile to public. Can be got through the windows store app.
I tried it, DukeSatan, but it didn't seem to work for me. Terminus already mentioned that app earlier in this thread.
Chandra 26.11.2015 klo 16.29 
Matzurai lähetti viestin:
And now the ideal way:

Outstanding solution, Matzurai. Thanks for taking the time to solve the problem instead of waiting for a solution that we might never see from Valve.
its really much :D
frame 22.1.2016 klo 13.41 
Matzurai lähetti viestin:
And now the ideal way

Thank you! :tlove:
< >
Näytetään 1-15 / 29 kommentista
Sivua kohden: 1530 50

Lähetetty: 8.8.2015 klo 7.53
Viestejä: 29