Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is ClickOnce still the way to go for Windows Forms application deployment?

Is ClickOnce still the way to go for Windows Forms application deployment?

I've just been looking for books that cover ClickOnce deployment and there don't seem to be many at all out there, and the ones that are are a few years old(?).


Additional notes re what I'm doing:

  • An executable and one database file (SQLite)
  • Database (SQLite) will need to be updated sometimes by the application (e.g. add table, add column)
  • Database data (which is just a file for SQLite) needs to remain across upgrades of course
like image 344
Greg Avatar asked Mar 02 '10 17:03

Greg


2 Answers

ClickOnce is still an amazing technology. It takes care of a large amount of heavy lifting from your side, but takes away some customizations that you can use with the Windows Installer.

Directly from the words of MS, ClickOnce overcomes three issues in deployment:

  • Difficulties in updating applications. With Microsoft Windows Installer deployment, whenever an application is updated, the user must reinstall the entire application; with ClickOnce deployment, you can provide updates automatically. Only those portions of the application that have changed are downloaded, then the full, updated application is reinstalled from a new side-by-side folder.

  • Impact to the user's computer. With Windows Installer deployment, applications often rely on shared components, with the potential for versioning conflicts; with ClickOnce deployment, each application is self-contained and cannot interfere with other applications.

  • Security permissions. Windows Installer deployment requires administrative permissions and allows only limited user installation; ClickOnce deployment allows non-administrative users to install and grants only those Code Access Security permissions necessary for the application.

I recommend giving this a thorough read: MSDN - ClickOnce Deployment. Also, if it's good enough for Google (Chrome), it's good enough for most of us ;)

like image 73
Kyle Rosendo Avatar answered Oct 10 '22 07:10

Kyle Rosendo


It depends what you need to deploy; if it's a single executable with possibly a couple of content files then yes, but if you need custom scripts, installing services, etc. then I would highly suggest looking into Windows Installer.

like image 25
Michal Ciechan Avatar answered Oct 10 '22 07:10

Michal Ciechan