Sono abbastanza sicuro che è possibile aggiungere questo ridistribuibile al pacchetto bootstrapper generato da Visual Studio. This may help you out. Ma no, ClickOnce non può rilevare se è stato installato.
Penso che si possa fraintendere cosa fa ClickOnce. ClickOnce copia i file da un server a un client e li mantiene sincronizzati. Questo è tutto. La maggior parte delle app ClickOnce ha alcuni prerequisiti che devono essere eseguiti (.NET Framework, C++ Runtime, ecc.). Visual Studio ti aiuterà con questi e creerà un bootstrapper che riunisce tutti questi elementi. Questo non ha nulla a che fare con ClickOnce, sono solo alcune cose che hanno lanciato in VS per aiutarti. Visual Studio creerà anche una pagina html con collegamenti all'app ClickOnce e al exe bootstrapper; ancora una volta, solo Visual Studio ti aiuta, non ClickOnce.
L'unico prerequisito che ha alcune "intelligenze" dietro di esso è .NET Framework. Questo perché la pagina html che viene generata può guardare la stringa UserAgent del browser e indicare quali versioni del framework sono installate. Per tutti gli altri prerequisiti, spetta a te scrivere codice per gestire le cose o fino all'utente per sapere se è necessario eseguire l'installazione o meno.
Se l'app può essere avviata senza prereq, è possibile scrivere il codice per verificare se è installato e quindi avvisare l'utente o scaricare e avviare l'installazione. Questo è quanto di meglio puoi fare.
Nota che [risposte solo per collegamento] (http://meta.stackoverflow.com/tags/link-only-answers/info) sono scoraggiate, pertanto le risposte dovrebbero essere il punto finale di un ricerca di una soluzione (rispetto a un'altra sosta di riferimenti, che tende a diventare obsoleta nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento. – kleopatra