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.
Автор останньої редакції: Wicked Mouse; 11 серп. 2015 о 6:19
< >
Показані коментарі 115 із 29
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).
Автор останньої редакції: Terminus; 8 серп. 2015 о 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!
Автор останньої редакції: Wicked Mouse; 8 серп. 2015 о 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.
Автор останньої редакції: Wicked Mouse; 8 серп. 2015 о 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!
Автор останньої редакції: Wicked Mouse; 8 серп. 2015 о 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 :)
Автор останньої редакції: Wicked Mouse; 8 серп. 2015 о 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:
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.
Цитата допису Matzurai:
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.
Цитата допису Matzurai:
And now the ideal way

Thank you! :tlove:
< >
Показані коментарі 115 із 29
На сторінку: 1530 50

Опубліковано: 8 серп. 2015 о 7:53
Дописів: 29