AppleSeeker's Tech Blog
Welcome to AppleSeeker's space
博客园
首页
新文章
新随笔
订阅
管理
posts - 40, comments - 358, trackbacks - 2
Windows自动更新API (4)
前几篇文章讲述了如何查看更新软件,这篇讲述如何下载更新及安装
下载前,先要确定是否有更新,然后确定下载哪些更新,当然也可以下载全部更新(这时候类似于XP的盗版更新补丁就能避免下载安装)。
涉及到UpdateSearcherClass,ISearchResult,UpdateDownloaderClass,UpdateInstallerClass类
在下载点用UpdateSearcherClass的实例开始搜索,将搜索结果放到ISearchResult中。
然后实例化一个UpdateDownloaderClass对象,将搜索结果给UpdateDownloaderClass实例对象
调用该实例的Download方法就开始下载了。该方法不是异步方法,所以会直到下载完才执行下面的方法。
安装:
实例化一个UpdateInstallerClass类,将搜索结果给该实例后,然后调用Install方法,就可以安装了。
在调查中,机器环境是vista,当系统的自动更新开启并下载时,用自己写的程序更新完,系统的自动更新程序不会有任何反应。
参考代码:
1
public
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
MSN:appleseeker@hotmail.com
Mail:
appleseeker@gmail.com
精品女装淘宝店
<
2007年7月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
与我联系
发短消息
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(7)
给我留言
查看留言
我参加的小组
.NET 3.x
Windows Embedded
.NETCompactFramework
我参与的团队
.NET 控件与组件开发(1/1339)
上海.NET俱乐部(0/2153)
北京.NET俱乐部(0/1360)
Windows Mobile 应用开发(1/545)
ASP.NET AJAX (Atlas)学习(0/1319)
.NetFramework3.0 & 3.5(WCF,WPF,WF)团队(0/561)
Silverlight学习与研究(0/276)
Windows Vista开发(0/230)
我的标签
Windows Mobile
(20)
.net
(2)
VS2008
(1)
WUA
(1)
SOAP
(1)
Web Service
(1)
Sync Services
(1)
Sql Server CE
(1)
Linq
(1)
WCF
(1)
更多
随笔分类
(63)
.Net(36)
Ajax
Mobile(26)
生活琐事(1)
随笔档案
(40)
2008年7月 (1)
2008年6月 (4)
2008年5月 (2)
2008年4月 (1)
2008年3月 (8)
2008年2月 (7)
2008年1月 (1)
2007年7月 (7)
2007年6月 (1)
2007年3月 (1)
2007年2月 (1)
2006年12月 (3)
2006年9月 (3)
Mobile Blog
fox23
MobileSide
葛涵涛/JerryGe
黎波
最新随笔
1. ADO.NET Sync Services For Device开发(1)
2. .Net Compact Framework 高级篇(2)-- 扩展SOAP应用
3. Windows自动更新的总结
4. Windows Mobile 6.1 -- 开发前先了解下有哪些变化
5. Visual Studio 2008 SP1 Bate版和.Net Framework 3.5 SP1 Beta版提供下载
6. Windows Mobile模拟器如何访问网络的设置
7. 移动开发索引贴
8. 推荐一个有趣的网站,从中联想一个思路
9. .Net Compact Framework 高级篇(1)
10. .Net Compact Framework 基础篇(4)
搜索
积分与排名
积分 - 88513
排名 - 405
最新评论
1. re: ADO.NET Sync Services For Device开发(1)
@KEN-江南白衣
恩。非常期待~~~
--AppleSeeker
2. re: ADO.NET Sync Services For Device开发(1)
@JustDI
是啊,所以,我说构建一个Web Service后,就能很清晰的知道,幸亏MS遗漏了哈。
--AppleSeeker
3. re: ADO.NET Sync Services For Device开发(1)
估计会跟VS 2008 SP1一起Realese
--KEN-江南白衣
4. re: ADO.NET Sync Services For Device开发(1)
mark
up
--农民佳
5. re: ADO.NET Sync Services For Device开发(1)
支持一个,貌似微软将好多我们编代码的功夫给省了,不过这也带来了一个不利,不利于我们理解内部的实现.
--JustDI
阅读排行榜
1. Windows Mobile 5.0 (1)(9949)
2. Windows自动更新API (1)(4971)
3. Windows Mobile 5.0 (4) -- Mobile程序部署(3195)
4. Windows Mobile 5.0 (2)(2870)
5. Windows Mobile 6.0 (1)(2819)
评论排行榜
1. 实在令人愤恨--我在微软邮件中发现自己写的贴子被转抄。[事情已结束](71)
2. Windows Mobile 5.0 (1)(44)
3. Windows自动更新API (1)(23)
4. .Net Compact Framework 基础篇(1)(20)
5. .Net Compact Framework 高级篇(1)(17)
60天内阅读排行
1. Windows Mobile 6.1 -- 开发前先了解下有哪些变化(2243)
2. Windows自动更新的总结(1983)
3. .Net Compact Framework 高级篇(2)-- 扩展SOAP应用(1346)
4. ADO.NET Sync Services For Device开发(1)(914)
5. 测试贴(3)