NetSparkle C#程序自动更新

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);

此时就可以更新了。

 

官方主页 Github主页

几个好用的开源库

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注

14 + 5 =