Após algumas experiências, notei que runas.exe sempre define o diretório de inicialização do programa como System32 , enquanto Executar como usuário diferente define o direcionamento inicial para a pasta que contém o EXE.
Prova
Isso pode ser demonstrado criando um arquivo em lotes que contém algo como:
echo %cd%
pause
Coloque-o em uma pasta acessível a todos os usuários. Se você executá-lo apenas clicando duas vezes no File Explorer, ele mostrará o diretório que o contém. Ele fará o mesmo se você usar Executar como usuário diferente . Se você abrir uma janela Prompt de Comando e executar runas /user:otheruser test.bat , ela falhará ("nenhum arquivo") se test.bat não estiver no outro usuário ou no PATH do sistema. Isso porque runas começa em System32 . Se você fizer runas /user:otheruser \full\path\to\test.bat , ele será iniciado e exibirá o caminho para System32 , porque esse é o seu diretório inicial.
Corrigindo o problema
O programa em questão faz coisas estranhas (mas não trava) se não vir certos arquivos em seu diretório atual / inicial. Atualize o arquivo em lote para usar runas em um arquivo em lote que primeiro cd s no diretório correto e, em seguida, inicie o programa.