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

痴心易碎 提交于 2019-11-28 04:28:46

问题


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

回答1:


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 ;)




回答2:


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.




回答3:


The answer may also depend on where you are deploying? Are you writing an internally used application for a company, where everyone has access to an internet share that you can deploy your ClickOnce too? If yes, then ClickOnce is great.

If you are trying to write shrink-wrap software for general consumption, then creating a deployment project that distills down to an MSI, or even using a product like InstallShield or NSIS (does that still exist?) may be your better option.




回答4:


ClickOnce is great if you're OK with the limitations. If you've got a Windows application that doesn't need the full-blown MSI over-engineered madness, by all means use ClickOnce.

ClickOnce takes care of auto-updates, and it takes care of previous versions and rollbacks. ClickOnce installs/uninstalls take seconds, far faster than traditional MSIs. The benefits are many, so if you're OK with the constraints, by all means you should use it.



来源:https://stackoverflow.com/questions/2365431/is-clickonce-still-the-way-to-go-for-windows-forms-application-deployment

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!