Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to automate a ClickOnce deployment?

I work on a project consisting of a server and a client application deployed via ClickOnce. The client is installed the first time a user clicks a http://...file.application link, and the interaction with the user during installation are minimal (just the standard ClickOnce install/don't install dialog box).

One of our client wants to be able to automate the installation of the client on the users' machines. Is there a way to install the ClickOnce application without any user interaction, in order to automate the deployment process?

Does software providing this kind of deployment exist?

My problem comes from the fact I don't know how the ClickOnce deployment works under the hood (I don't even know if it is possible to run an ClickOnce installer from the command line...), and as ClickOnce applications are not packaged at all like Windows Installer, I am not sure of anything.

like image 912
alfred barthand Avatar asked Dec 03 '09 17:12

alfred barthand


People also ask

Is ClickOnce still supported?

ClickOnce and DirectInvoke in Microsoft Edge | Microsoft Learn. This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

What is the purpose of ClickOnce deployment?

ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction.

How do I publish my ClickOnce website?

To specify a custom Web page for a ClickOnce applicationSelect the Publish pane. Click the Options button to open the Publish Options dialog box. Click Deployment. In the Publish Options dialog box, make sure that the Open deployment web page after publish check box is selected (it should be selected by default).


2 Answers

There are many third-party solutions available for automated deployment. You can also create your own scripts, but you need some way of invoking them. If your clients' machines are configured to look for network located start up scripts then this would be an ideal method. Typically, automated deployments work with a standard deployment package, i.e. containing a setup.exe and required files, so this would probably be the best way to package your application.

ClickOnce is specifically designed for manual deployment by an end user and only confuses things when the goal is automated deployment. Obviously you can keep your ClickOnce deployment in place in case someone wants to install your application manually, but it will make things easier if you package it separately for automated deployment.

like image 55
Adam Ralph Avatar answered Sep 18 '22 12:09

Adam Ralph


It's possible to automate it. The trick is the way the manifests are generated and signed.

Once an application manifest has been built and the deployed files are renamed, you have a set of files and folder that you can just copy to your install source.

like image 25
Brett Veenstra Avatar answered Sep 22 '22 12:09

Brett Veenstra