Obtención de la lista de productos instalados c #

Para instalar / desinstalar / actualizar nuestro software, nuestro instalador personalizado utilizaWindowsInstaller.Installer.Products para obtener la lista de productos instalados desde el registro de windows.

Y en algunas máquinas cliente, un software desconocido probablemente está agregando una nueva entrada al registro 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Products'una clave con nombre algo como' ABCD '. Esto esta causandoWindowsInstaller.Installer.Products para lanzar una excepción. Puedo volver a crear este escenario agregando manualmente una entrada de clave de registro en 'HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Installer \ Products'llamado' prueba '. Y si renombro la prueba a un nuevo GUID, entonces el problema simulado se resuelve.

¿Puede sugerir alguna solución / solución posible?

Usar la herramienta MSIINV.exe sería difícil, ya que es una herramienta de terceros, pero eso parece ayudar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta