Using Clickonce Deployment with Background intelligent transfer service

蹲街弑〆低调 提交于 2019-12-02 05:17:19

The thing is that BITS is used to transfer data in the background, while CLICKONCE is more-or-less a JIT downloader of those DLLs/executables needed to install/update/run an application.

Additionally, ClickOnce is an out-of-box experience. It already works, whereas a BITS solution (even one using the old Updater Application Block) requires you to roll out a framework for updating the application.

Also note that there's nothing saying that a BITS solution would be a "trickle" approach. One could have it download the file in one batch, on high-priority and basically emulate the functionality of ClickOnce, or one could build it to download updates in the background similiar to how FireFox performs updates.

Finally, be aware that ClickOnce does have security ramifications in what the ClickOnce deployed application is allowed to do by default, or even what resources it is allowed to communicate with by default. Read more here.

I have worked on a project that uses BITS and ClickOnce but not in the same context as what you want. ClickOnce was the mechanism for downloading the application which was very light, as light as it could be made. Then using a combination of Microsoft Synchronization services and BITS to synchronize data and pull down artifacts (around 2 GB).

Remember with ClickOnce you do not need to force the user to upgrade before opening. You have the ability to upgrade the application whilst the application is in use and then the next time the application is started the new version will be run.

I doubt that Clickonce would be of much help, because it's unlikely that you could extend it to use BITS. Maybe a combined approach would work where you initially deploy a small custom downloader via Clickonce which uses BITS to get the remaining parts and does all future updates.

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