Os programas precisam ser projetados e programados para serem multiusuários e com várias instâncias para ter qualquer esperança de execução em um servidor RDP, exatamente por você estar se deparando com recursos compartilhados inesperados (nesse caso uma pasta específica em um disco específico)
Com base no que você está nos dizendo, seu programa NÃO foi escrito com vários usuários em mente, muito menos em várias instâncias no mesmo computador.
Única resposta real para seguir o caminho RDS que você está tentando: reescrever ou substituir o programa.
Uma alternativa, se a sua versão do Windows Server oferecer suporte a ela (e você tiver um hardware de servidor decente), é usar Desktops Virtuais. Você pode configurá-lo onde uma imagem do Windows é usada (digamos, Windows 7), e cada vez que um usuário RDPs no servidor uma máquina virtual privada é girada com uma cópia dessa imagem (ou uma especificamente mantida para o usuário), e O desktop da VM é o que é entregue ao usuário via RDP.
Dessa forma, cada sessão RDP é sua própria VM, com seu próprio C:\APP
, exatamente como quando instalado em clientes thick.
Tenha em mente que você precisa licenciar tudo isso. Você precisará das licenças RDS corretas, bem como de uma licença do Windows para cada uma dessas VMs que você possa ter executado simultaneamente.
Para começar, talvez confira alguns recursos como estes:
- Infraestrutura de desktop de virtualização para Windows Enterprise
- Passo a passo: implantando desktops virtuais com o Windows Server 2012