Estoy bastante seguro de que podría agregar esta redistribuible al paquete bootstrapper que genera Visual Studio. This may help you out. Pero no, ClickOnce no puede detectar si se ha instalado.
Creo que puede estar malinterpretando lo que hace ClickOnce. ClickOnce copia los archivos de un servidor a un cliente y los mantiene sincronizados. Eso es. La mayoría de las aplicaciones ClickOnce tienen algunos requisitos previos que deben ejecutar (.NET Framework, C++ Runtime, etc.). Visual Studio te ayudará con esto y crearás un bootstrapper que agrupe todo esto. Eso no tiene nada que ver con ClickOnce, es solo algunas cosas que lanzaron en VS para ayudarte. Visual Studio también creará una página html para usted con enlaces a la aplicación ClickOnce y el administrador de arranque; nuevamente, solo Visual Studio lo está ayudando, no ClickOnce.
El único requisito previo que tiene algunos "conocimientos" detrás de él es .NET Framework. Esto se debe a que la página html que se genera puede examinar la cadena UserAgent del navegador e indicar qué versiones del marco están instaladas. Para todos los demás requisitos previos, depende de usted escribir el código para manejar las cosas o hasta que el usuario sepa si necesitan ejecutar la instalación o no.
Si su aplicación se puede iniciar sin el prerregistro, podría escribir el código para verificar si está instalado y luego advertir al usuario o descargar e iniciar la instalación. Eso es todo lo bueno que puedes hacer.
Tenga en cuenta que [respuestas solo de enlace] (http://meta.stackoverflow.com/tags/link-only-answers/info) no se recomiendan, SO las respuestas deben ser el punto final de un buscar una solución (frente a otra escala más de referencias, que tienden a quedar obsoletas en el tiempo). Considere agregar una sinopsis independiente aquí, manteniendo el enlace como referencia. – kleopatra