Some Programs can't be pinned to the Window 7 taskbar
I noticed the other day when running eclipse that I can't pin the Eclipse exe directly (I can pin the shortcut to start it, however once started, it seems to open another application that uses the Java SDK, and that can't be pinned).
It got me thinking: Why can't you pin everything to the taskbar? What are the restrictions on programs? In the case of my Eclipse example, I believe that it could be because its running the Java program in the background, but the same thing happens for programs such as Starcraft 2.
Solution 1:
Those apps are actually a multi process app. A tiny launcher (in the case of Starcraft) or a runtime (Java for Eclipse and Minecraft) are started by your shortcut, which in turn load your application main process. If those starter don't assign a correct AppUserModelIDs, which essentially just an identifier for the taskbar, they can't be pinned.
Solution 2:
You can work around this by creating a command prompt, pin it to the task bar, and then change the target to what you want.
Found here: http://mattrefghi.com/blog/2012/06/how-to-pin-a-batch-file-to-the-taskbar-in-windows-7/
Click the Start button. Start typing “Command Prompt” in the search box. Right-click Command Prompt once it appears in the search results, and select Pin to Taskbar. While holding SHIFT, right-click the black Command Prompt icon in the taskbar. Select Properties from the context menu that appeared. Now we bring our attention to the value in the Target field: %windir%\system32\cmd.exe tweet As it stands, it’s just trying to launch the executable that will make the Command Prompt window appear. For our trick to work, we must add the follow text, in bold: %windir%\system32\cmd.exe /c “c:\somewhere\myscript.bat” tweet The “/c” parameter tells “cmd.exe” that it should only run the command provided, and then immediately close itself. In this case, we’re telling it to launch a batch file, and that file can run any number of commands within itself. The path, naturally, should reflect the actual location of the file on your machine. Once this is set up, we can simply click the black Command Prompt icon to launch our script. I have no idea if Microsoft plans to improve support for such files, but in the meantime, I consider this a decent workaround.
Solution 3:
I'd just like to point out, for future reference, that you can indeed pin apps with launchers. Just drag the launcher to the taskbar, and it will be there. Only problem is they would not work quite as the normal apps, since the launcher closes and another app is there, getting 2 icons for the same task. It's a bit annoying, but it works.
Solution 4:
As DoctorNode already pointed out, apps on removable media cannot be pinned to the taskbar as well. This is still true for Windows 10. There is a simple workaround:
copy the executable you want to pin to any folder on a hard disk - this way you alread get a right name and icon.
drag the copied executable to the taskbar, it will happily pin
navigate to "C:\Users\\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\Taskbar" - beware, the 'User Pinned' folder is hidden, but typing the name in the address bar will open it
modifiy the generated shortcuts to the copied exes there: replace executable path and folder name with the ones on removable media and save
Voilà! Your taskbar icons will activate apps/programs on removable media, and they will be active even wenn you start those apps directly, and will gather multiple windows - so all is back to how it should work. You can even unpin from taskbar, but re-pinning requires again the steps outlined above.