Detectar programas instalados a través del registro

Necesito desarrollar un proceso que detecte si la computadora del usuario tiene ciertos programas instalados y, de ser así, qué versión. Creo que necesitaré una lista con la ubicación del registro y las claves para buscar y alimentar el programa, lo cual no es un problema. ¿Hay una mejor manera de lograr esto?

Lo primero que pensé fue revisar el registro en las entradas de desinstalación, pero parece que una de las aplicaciones que deseo detectar no tiene una. ¿Cuál es la ubicación estándar para todos los registros que usan aplicaciones para hacer una entrada?

Respuestas a la pregunta(9)

Su respuesta a la pregunta