3 Answers
3

I'm pretty sure you could add this redistributable to the bootstrapper package Visual Studio generates. This may help you out. But no, ClickOnce cannot detect if it's been installed.

I think you may be misunderstanding what ClickOnce does. ClickOnce copies files from a server to a client and keeps them in sync. That's it. Most ClickOnce apps have a few prerequisites they need to run (.NET Framework, C++ Runtime, etc). Visual Studio will help you with these and create a bootstrapper that bundles all these together. That has nothing to do with ClickOnce, it's just some stuff they threw in VS to help you out. Visual Studio will also create an html page for you with links to the ClickOnce app and the bootstrapper exe; again, just Visual Studio helping you, not ClickOnce.

The only prerequisite that has some "smarts" behind it is the .NET Framework. That's because the html page that gets generated can look at the browser's UserAgent string and tell what versions of the framework are installed. For all other prerequisites, it's up to you to write code to handle things or up to the user to know whether they need to run the install or not.

If your app can start up without the prereq, you could write code to check if it's installed and then warn the user or download and launch the install. That's about as good as you can do.

Note that link-only answers are discouraged, SO answers should be the end-point of a search for a solution (vs. yet another stopover of references, which tend to get stale over time). Please consider adding a stand-alone synopsis here, keeping the link as a reference.
–
kleopatraNov 6 '13 at 13:23

While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes.
–
nrathausJan 23 '14 at 13:32