NetSparkle和Mac平台著名的Sparkle非常像,无论在界面,还是在程序的易用性上,都非常像。
服务器端
首先添加VersionInfo.xml文件如下:
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel> <title>NetSparkle TestCase</title> <link>http://update.xxx(YourUpdateServerDomain)/versioninfo.xml</link> <description></description> <language>en</language> <item> <title>Version 1.0.1</title> <sparkle:releaseNotesLink>http://update.xxx(YourUpdateServerDomain)/1.0.1/rnotes.html</sparkle:releaseNotesLink> <pubDate>Sun, 31 Oct 2010 10:21:11 +0000</pubDate> <enclosure url="http://update.xxx(YourUpdateServerDomain)/1.0.1/NetSparklTestApp-1.0.1.exe" length="5120" type="application/octet-stream" sparkle:version="1.0.1" sparkle:dsaSignature="ngnGYS1ELmGWlhWp0FAzwjmc8VdAFkyIuoybSUwPkpmt+HusArTINQ==" /> </item> <item> <title>Version 1.0.2</title> <sparkle:releaseNotesLink>http://update.xxx(YourUpdateServerDomain)/1.0.2/rnotes.html</sparkle:releaseNotesLink> <pubDate>Sun, 31 Dec 2010 10:31:11 +0000</pubDate> <enclosure url="http://update.xxx(YourUpdateServerDomain)/1.0.2/NetSparklTestApp-1.0.2.exe" length="5120" type="application/octet-stream" sparkle:version="1.0.2" sparkle:dsaSignature="R0Umm343UUfeJ15fV0nDQ2Gg0AsHbGUU76GpsWv2H+agMWXADXpg2g==" /> </item> </channel> </rss>
然后在对应的1.0.1、1.0.2目录(根据你的软件实际版本修改,或者叫其他的名字都无所谓)下添加说明文件,而该文件就是一个html网页,可以是任何形式。然后在该目录下添加对应版本的程序。
客户端
客户端添加对NetSparkle的Reference。
对于自动更新,你可以在程序的初始化函数中添加如下代码:
Sparkle _sparkle = new Sparkle("http://service.caock.net/myDevIP/VersionInfo.xml"); _sparkle.StartLoop(true);
如果是点击按钮手动检查更新,则是:
Sparkle _sparkle = new Sparkle("http://service.caock.net/myDevIP/VersionInfo.xml"); _sparkle.CheckForUpdates(true);
此时就可以更新了。