Parece que isso pode ser feito a partir do comando wmic
Tente isto:
wmic product
Mostra uma lista de tudo instalado no computador
Fontes:
link
link
Esta página diz que é para o Windows Vista e 7, mas testei o wmic no Windows XP também
Além disso, esta página explica que o método de verificação da entrada do registro pode não ser preciso. link
Aqui estão mais algumas informações sobre o que mais pode ser feito usando o wmic:
A partir deste site, especificamente para o seu problema:
The program can also provide details on many other aspects of your system. Commands like:
wmic product list brief
wmic service list brief
wmic process list brief
wmic startup list brief
will list your installed software, services, running processes and Windows startup programs, for instance.