Não há uma maneira simples de detectar isso. A única diferença entre "por máquina" e "por usuário" é se o programa salva suas configurações em um local que é exclusivo por usuário ( HKEY_LOCAL_USER
no registro e a pasta %APPDATA%
ou %LOCALAPPDATA%
no sistema de arquivos ) ou compartilhado entre todos os usuários ( HKEY_LOCAL_MACHINE
no registro e %PROGRAMDATA%
no sistema de arquivos)
Tudo o que é interno e personalizado para cada programa já escrito e não há um "sinalizador" genérico que você possa ler em algum lugar que possa lhe dizer qual método um programa está usando.
Se você quiser saber se um programa específico está instalado como por usuário ou por máquina, abra uma nova pergunta e certifique-se de incluir os detalhes de qual programa deseja conhecer.