ClickOnce Frequently Asked Questions

Security wise, how is ClickOnce improved compared to ActiveX?

Microsoft has designed ClickOnce from ground up to be a more secure technology than ActiveX. The following security improvements are noteworthy:

Taking all this into account, ClickOnce is security-wise a superior technology to ActiveX. In particular, ClickOnce is considerably more secure than the historical design of ActiveX - which Microsoft has reworked in Internet Explorer for Windows XP SP2 to improve security and also further improved in Internet Explorer for Windows Vista.

Can I disable the security prompt? How?

Yes. The prompt is a configurable per zone basis, and it can be set to three different possible choices; Enabled, Disabled or AuthenticodeRequired.

There are five zones, MyComputer (default: Enabled), LocalIntranet (default: Enabled), Internet (default: AuthenticodeRequired), TrustedSites (default: Enabled), and UntrustedSites (default: Disabled). For each of these zones there is a corresponding registry string value in \HKLM\Software\Microsoft\.NETFramework\Security\TrustManager\PromptingLevel, but you may have to create it if not already present. To distribute the new settings across an enterprise network, implement a new domain policy for the these registry values.

An enterprise which wishes to increase security by restricting user from making unsafe choices, might consider e.g. setting Internet to Disabled, or setting LocalIntranet to AuthenticodeRequired.

Can I get my applications to run with high trust without requiring a prompt?

Yes!

The first step is to sign the the application with a valid code signing certificate. The second step is to add the code signing certificate to Trusted Publisher certificate store, and if necessary also add the root CA certificate to Trusted Root Certification Authorities and any intermediate certificates to Intermediate Certification Authorities store. Verify success by accessing the application!

In an managed enterprise environment, these steps should be performed using Group Policy to reach workstations. Using Domain Security Policy and add the corresponding Public Key Policies. Once the domain policies has been updated on enterprise workstations, the application will run without displaying the security prompt.

Why do manifests have to be signed?

The most important reason is that the security model for ClickOnce is designed to prevent someone from tampering with the ClickOnce files. By signing a manifest, it is ensured that the person/organization is the only one who can push new software updates into the ClickOnce application.

In this manner, ClickOnce makes it hard for viruses to infect a ClickOnce installation, as the virus cannot alter the ClickOnce code without render the signature invalid.

A manifest can be signed with a code signing certificate, which may either a dummy certificate generated for this purpose only (generating a "Unknown publisher" warning), or generated by a commercial Certification Authority (like Thawte and Verisign), or generated by Certificate Authority within the enterprise. The Obtain a certificate for ClickOnce deployment manual provides further information.

Signed manifests should hopefully also rise the bar for "evil doers" some. To obtain a code signing manifest recognized on the Internet, a certificate needs to be purchased from a commercial Certificate Authority - and this small costs may be enough to make some rascals to avoid doing this. A software being also makes easy to determine where it originates from, thus making it much harder to use for individuals who wants to anonymously get away with creating malicious software,

Are there any special server requirements for hosting a "ClickOnce" application?

No. ClickOnce can be deployed from most resources, e.g. file shares or a web server such as Microsoft IIS or Apache.

To configure a web server to host a ClickOnce application, first you may need to

Security can be improved by installing application server with HTTPS (SSL / TLS) network security protocol, which through the use of strong cryptography/authentication resolves most network threats (such as eavesdropping of communication).

Can I launch a ClickOnce application from any web browser besides Internet Explorer?

Yes, most Windows applications uses Windows standard URL activation, which is configured by .NET Framework 2.0 setup.

For some other software, additional configurations may be required. For Mozilla Fireforx a ClickOnce startup add-on is available at https://addons.mozilla.org/.

Can I install a ClickOnce application per-machine?

No. All “ClickOnce” applications are installed per-user. If your application needs to be installed per-machine, you should use managed deployment - copy the files to the workstations with Group Policies, SMS or another 3rd party software deployment product.

More information

Further information about Click Once can be obtained from Microsoft.