O ícone não está incorporado no atalho nem pode ser.
O arquivo .ICO tem que existir onde o atalho pode chegar até ele, e tem que estar onde o atalho está configurado para procurá-lo.
Você precisará fornecer o ícone com o atalho e fazer com que o usuário coloque o mesmo caminho (no sistema deles) ao qual o atalho se refere.
É por isso que os instaladores geralmente geram os atalhos depois que o programa é instalado. O usuário instala o programa no caminho desejado e isso inclui o arquivo ICO. O instalador agora sabe onde está o arquivo ICO, então ele pode criar um atalho que tenha aquele ícone referenciado corretamente.
Como alternativa, talvez você possa usar um dos ícones do sistema no arquivo de sistema SHELL32.DLL e referenciá-lo com %SystemRoot%\system32\SHELL32.dll
, pois todas as versões do Windows devem ter esse arquivo, com os mesmos ícones no mesmo local e como está usando a variável %systemroot%
, não importa onde o usuário realmente instalou o Windows, ele será resolvido adequadamente.