Using Clickonce Deployment with Background intelligent transfer service

╄→гoц情女王★ 提交于 2019-12-02 07:13:28

问题


We are thinking about the deployment and update strategy for a fairly large framework throughout our organization. The application will be in .NET 3.5 and will run on Windows XP, Vista and Win 7 machines. I have used Clickonce few times and it works well for sure. Has anyone thought of, or have implemented the BITS feature of Windows with Clickonce. I feel the trickle upgrade approach of BITS would make the frequent framework updates pretty user friendly.

Any help appreciated.


回答1:


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.




回答2:


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.




回答3:


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.



来源:https://stackoverflow.com/questions/1830811/using-clickonce-deployment-with-background-intelligent-transfer-service

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