时间:2021-07-01 10:21:17 帮助过:48人阅读
图1
具体类介绍:
- <img title="2010-10-18 23-10-25" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="153" alt="2010-10-18 23-10-25" src="https://img.gxlcms.com//Uploads-s/new/2019-09-19-201919/20101020105848457.png" width="849" border="0">
- 图2<!--CRLF-->
第二步:配置本地的Config
经过第一步的流程,这一步要做的就是配置本地的Config用于监测并下载远程IIS或者FTP下需要更新的文件,具体如下图所示:
图3
第三步:修改主程序
- <br>#region check and download new version program <br>bool bHasError = false; <br>IAutoUpdater autoUpdater = new AutoUpdater(); <br>try <br>{ <br>autoUpdater.Update(); <br>} <br>catch (WebException exp) <br>{ <br>MessageBox.Show("Can not find the specified resource"); <br>bHasError = true; <br>} <br>catch (XmlException exp) <br>{ <br>bHasError = true; <br>MessageBox.Show("Download the upgrade file error"); <br>} <br>catch (NotSupportedException exp) <br>{ <br>bHasError = true; <br>MessageBox.Show("Upgrade address configuration error"); <br>} <br>catch (ArgumentException exp) <br>{ <br>bHasError = true; <br>MessageBox.Show("Download the upgrade file error"); <br>} <br>catch (Exception exp) <br>{ <br>bHasError = true; <br>MessageBox.Show("An error occurred during the upgrade process"); <br>} <br>finally <br>{ <br>if (bHasError == true) <br>{ <br>try <br>{ <br>autoUpdater.RollBack(); <br>} <br>catch (Exception) <br>{ <br>//Log the message to your file or database <br>} <br>} <br>} <br>#endregion使用就是这么简单,更详细的操作,大家可以下载源码,也正因为它的简单,所以大家可以对其修改以满足具体项目的需求。 <br> <br><strong>六. 具体效果 <br></strong>
- <p>当我们运行主程序(WinForm或者WPF),如果服务器上有最新的版本,就会弹出如下页面进行提示并让用户选择是否更新。</p>
- <p><img title="2010-10-13 18-05-02" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="376" alt="2010-10-13 18-05-02" src="https://img.gxlcms.com//Uploads-s/new/2019-09-19-201919/20101020105856794.png" width="646" border="0"> </p>
- <p> 图4</p>
- <p>当用户不需要更新时,可以选择Skip按钮跳过并继续主程序流程,反之则进入如下页面。</p>
- <p><img title="2010-10-13 18-05-41" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="402" alt="2010-10-13 18-05-41" src="https://img.gxlcms.com//Uploads-s/new/2019-09-19-201919/20101020105911151.png" width="650" border="0"> </p>
- <p> 图5</p>
- <p>在下载的过程中,用户可以选择Cancel停止下载并重新回到主流程。</p>
- <h1>七. 维护与下载</h1>
- <p>该组件已经托管到CodePlex,所以大家可以到上面下载其源代码,具体地址:http://autoupdater.codeplex.com/</p>
- <p><img title="2010-10-18 22-10-52" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="514" alt="2010-10-18 22-10-52" src="https://img.gxlcms.com//Uploads-s/new/2019-09-19-201919/20101020105917988.png" width="665" border="0"> </p>
- <p> 图6</p>
- <h1>八. 总结</h1>
- <p> 我们这篇文章简单的讲解了一个简单的自动更新组件,由于它比较简单而且功能单一,所以没有花费大量的篇幅进行论述,感兴趣的读者可以下载其源码。后面我会把自己开发的一套MVVM框架也托管上去,由于目前对Silverlight的支持还不太好,所以正在持续做相关的改进,其中借鉴了一些其他优秀框架的思想并且融入了一些实际应用场景,所以到时也希望大家能够多多指教!<br>作者:圣殿骑士 <br>出处:http://www.cnblogs.com/KnightsWarrior/ </p>