Cargue y use dinámicamente el objeto COM en C #

Tengo un proyecto C #, donde me gustaría acceder a MS Outlook, si está instalado en la máquina de un cliente. La parte de "perspectiva de acceso" se ha hecho haciendo referencia al objeto COM de perspectiva y yendo desde allí. Mi problema ahora es la parte "si está instalado". Por el momento, mi proyecto no se compila en máquinas sin Outlook instalado, por lo que supongo que no tendré que hacer referencia al componente de Outlook, y en su lugar cargarlo y usarlo dinámicamente, después de detectar que Outlook está presente, pero no tengo Encontré una manera de hacer esto. ¿Estoy en lo cierto, y alguien tiene alguna pista sobre cómo hacer esto?

Gracias

Edit: Resuelto. Siguiendo el consejo dado por Hans Passant en uno de los comentarios sobre el uso de los PIA de la oficina, resultó ser el camino de menor resistencia. Tuve un poco de dificultad para obtener los PIA en mi máquina sin oficina, pero se superó con la respuesta aceptada aest pregunta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta