我认为您应该在 codeplex.com http://autoupdater.codeplex.com/上查看以下项目
此示例应用程序使用 C# 开发为项目名称为“AutoUpdater”的库。DLL “AutoUpdater”可用于 C# Windows 应用程序(WinForm 和 WPF)。
AutoUpdater 有一些特性:
- 易于实施和使用。
- 检查更新后应用程序自动重新运行。
- 更新过程对用户透明。
- 避免使用多线程下载阻塞主线程。
- 能够升级系统以及自动更新程序。
- 不同系统使用时不需要更改的代码,可以在库中编译。
- 便于用户下载更新文件。
如何使用?
在您想要自动更新的程序中,您只需要在 Main 过程中调用 AutoUpdate 函数即可。自动更新功能将使用从网站/FTP 中的文件读取的版本来检查版本。如果程序版本低于读取的版本,则程序下载自动更新程序并启动它,函数返回 True,这意味着将运行自动更新并关闭当前程序。自动更新程序从要更新的程序接收几个参数并执行必要的自动更新,然后启动更新的系统。
#region check and download new version program
bool bSuccess = false;
IAutoUpdater autoUpdater = new AutoUpdater();
try
{
autoUpdater.Update();
bSuccess = true;
}
catch (WebException exp)
{
MessageBox.Show("Can not find the specified resource");
}
catch (XmlException exp)
{
MessageBox.Show("Download the upgrade file error");
}
catch (NotSupportedException exp)
{
MessageBox.Show("Upgrade address configuration error");
}
catch (ArgumentException exp)
{
MessageBox.Show("Download the upgrade file error");
}
catch (Exception exp)
{
MessageBox.Show("An error occurred during the upgrade process");
}
finally
{
if (bSuccess == false)
{
try
{
autoUpdater.RollBack();
}
catch (Exception)
{
//Log the message to your file or database
}
}
}
#endregion