O motivo foi porque eu tinha um comando com args em Exec e TryExec em vez do caminho para um script.
A leitura desta postagem mostra que TryExec não é realmente executado e é usado apenas para decidir se para oferecer este desktop, de modo que poderia ser o motivo pelo qual não funcionou para mim para começar.
Solução: certifique-se de que TryExec e possivelmente Exec apontem para os caminhos reais do arquivo de script, em vez de indicar um executável com argumentos.