AppleSeeker's Tech Blog
Welcome to AppleSeeker's space
posts - 40,  comments - 358,  trackbacks - 2
前几篇文章讲述了如何查看更新软件,这篇讲述如何下载更新及安装

下载前,先要确定是否有更新,然后确定下载哪些更新,当然也可以下载全部更新(这时候类似于XP的盗版更新补丁就能避免下载安装)。

涉及到UpdateSearcherClass,ISearchResult,UpdateDownloaderClass,UpdateInstallerClass类
在下载点用UpdateSearcherClass的实例开始搜索,将搜索结果放到ISearchResult中。
然后实例化一个UpdateDownloaderClass对象,将搜索结果给UpdateDownloaderClass实例对象
调用该实例的Download方法就开始下载了。该方法不是异步方法,所以会直到下载完才执行下面的方法。
安装:
实例化一个UpdateInstallerClass类,将搜索结果给该实例后,然后调用Install方法,就可以安装了。

在调查中,机器环境是vista,当系统的自动更新开启并下载时,用自己写的程序更新完,系统的自动更新程序不会有任何反应。

参考代码:
 1public void UpdateDownload()
 2{
 3    WUApiLib.UpdateSearcherClass upSearch = new WUApiLib.UpdateSearcherClass();
 4
 5    if( upSearch.Online )
 6    {
 7        WUApiLib.ISearchResult resSearch = upSearch.Search("IsInstalled = 0");
 8
 9        WUApiLib.UpdateDownloaderClass upDownload = new WUApiLib.UpdateDownloaderClass();
10        WUApiLib.UpdateInstallerClass upInstall = new WUApiLib.UpdateInstallerClass();
11
12        upDownload.Updates = resSearch.Updates;
13
14        System.Windows.Forms.MessageBox.Show("Start Download");
15
16        if (upDownload.Updates.Count > 0)
17        {
18            upDownload.Download();
19        }

20
21        System.Windows.Forms.MessageBox.Show("Start Install");
22
23        upInstall.Updates = upDownload.Updates;
24
25        if(upInstall.Updates.Count > 0)
26        {
27            upInstall.Install();
28        }

29
30        System.Windows.Forms.MessageBox.Show("Install Ok");
31    }

32}
posted on 2007-07-22 15:09 AppleSeeker 阅读(2048) 评论(0)  编辑 收藏 所属分类: .Net
AppleSeeker

MSN:appleseeker@hotmail.com
Mail:appleseeker@gmail.com

精品女装淘宝店


<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

与我联系

常用链接

留言簿(7)

我参与的团队

我的标签

随笔分类(63)

随笔档案(40)

Mobile Blog

最新随笔

搜索

  •  

积分与排名

  • 积分 - 88513
  • 排名 - 405

最新评论

阅读排行榜

评论排行榜

60天内阅读排行