Não realmente. Isso exigiria algum tipo de programa que tivesse um banco de dados (maciço) de arquivos, pastas e registros de sobras de milhares (milhões?) De programas aleatórios de terceiros. O melhor que você pode esperar e uma solução “fácil e automatizada” é usar um programa de “limpeza”, como o CCleaner para procurar para algum resíduo de aplicação. O problema é que estes tendem a ter duas limitações:
-
A única verificação para aplicativos conhecidos (que precisam ser adicionados manualmente). Eles adicionam novos de vez em quando, mas eles ainda são geralmente limitados apenas a programas comuns. (Além disso, alguns deles permitem adicionar manualmente novos programas à lista, mas isso é irrelevante para sua pergunta específica.)
-
Eles geralmente só procuram certos arquivos, pastas e entradas de registro como arquivos temporários que os programas criam. Geralmente, eles não verificam arquivos remanescentes após a desinstalação de um programa ou arquivos de configurações e documentos criados pelo usuário.
Receio que a sua melhor aposta seja, de facto, percorrer as pastas, analisá-las manualmente e eliminar tudo aquilo de que já não necessita. Não é tão ruim quanto parece; Eu fiz isso incontáveis vezes ao longo dos anos e, na verdade, é uma tarefa bastante simples e pseudo-insensata que pode ser feita enquanto assisto TV ou algo assim.
Uma coisa a notar, no entanto: ProgramData
é a pasta de dados "Todos os usuários", portanto, ela se aplica a todos os usuários no sistema. Isso não é um problema se você for o único usuário, mas para um sistema compartilhado (ou para o qual você tem mais de uma conta de usuário), os arquivos serão removidos para todos os usuários. (Ostensivamente, isso não importaria, uma vez que todo o programa se foi, mas ainda vale a pena lembrar.)