开发者

Is it posisble to intergrate into "Windows Update" to upgrade your own applications?

Is it possible to intergrate into windows update to update your own applications?

I have heard of "ClickOnce", however from what I understand of it so far; it is still the responsibility of the application developer to manage the updates.

I am invisaging a similar user experiance to how an end user may update an application in a Linux distrubution e.g. the update manager in ubuntu. Where application and system updates are centralised.

I understand that you can update for example; office, SQL server etc开发者_运维问答. So you can do updates to non-core system applications. But of course these are microsoft application, is there a way of a 3rd party to do a similar thing?


It's not possible to integrate into the actual "windows update" functionality of windows, however it is possible to use the same underlying technology for your update system if you would like to.

It's called Background Intelligent Transfer Service (or BITS), and comes with an API that you can use to let your application take advantage of it for your own updates. You would still have to totally manage the update process on your own though, BITS just takes care of the throttled background downloading of the update. There's also a BitsAdmin tool that can be used to manage BITS streams.

Unless you are writing a pretty big app, you should think seriously before you try and use BITS, it's not a simple 'click and go' setup procedure, you'll have to manage the majority of the update process in your own code.

On the other hand, ClickOnce (as rjh has already mentioned) is fairly easy, you simply define some basic parameters like version and update URL, and the ClickOnce engine will automatically handle checking, downloading and installing your updates, all you have to do is publish them to the server. There are some restrictions to ClickOnce, but for a large number of apps, ClickOnce can work very well. For a standard ClickOnce deployment there is no code to write, it's all handled through the visual studio interface.


Windows Update (and Office Update) are Microsoft run, and while third parties such as nVidia and Intel are allowed to use it for driver updates, it is not an open platform. There is no Windows equivalent of Ubuntu/Debian's APT repositories, or third party repositories.

ClickOnce probably does what you need. You will have to "manage updates" by uploading a new version of your app to your webserver - not sure how you'd avoid doing that, whatever the system. When users start your app, the ClickOnce system checks for a new version and downloads it automatically. Much cleaner than implementing your own - there must be thousands of different update systems written by different Windows developers!

ClickOnce allows a good deal of customisation - users can choosen when or if they want their apps updated. Developers can set updates as optional or mandatory and be reasonably sure that their entire user base will move up to the latest version (For security fixes etc.). There's also an API so you can control the update process at a more granular level.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜