本类库+工具用于快速实现一个简单的自动更新程序,旨在快速简单地为现有的.Net应用程序添加上比较简单的自动更新功能。

如果我的应用程序应当怎么样才能“自杀”? [导航]

因为自动更新需要更新程序文件,那么我的应用程序如何才能“自杀”呢?

在一般的情况下,自动更新会自动提示用户关闭主程序,用户也可以选择自动结束来自动关闭主进程。如果存在特殊情况,如:

  • 程序启动了不止一个进程;
  • 程序具有自保护功能,被结束后将会自动重新启动

出现以上情况时,则需要你手动处理更新的事件,因为默认情况下自动更新程序只会自动关闭主进程(也就是启动更新检查的进程),对于其它进程则不予理睬。

 

如何手动处理这样的情况,可以手动处理检查更新:

  1. FSLib.App.SimpleUpdater.Updater.Instance.UpdatesFound += (s, e) =>
  2. {
  3.     //确认是否更新,并启动外部程序,启动的程序时传递多个进程的PID。注意程序的自我退出。
  4.     FSLib.App.SimpleUpdater.Updater.Instance.StartExternalUpdater(
  5.         new string[]{
  6.            "devenv",    //使用进程名
  7.             "*2567"     //可以使用程序的PID
  8.         });
  9. };
  10. FSLib.App.SimpleUpdater.Updater.UpdateUrl = "http://ls.com/update.xml";
  11. FSLib.App.SimpleUpdater.Updater.Instance.BeginCheckUpdateInProcess();

指定的进程将会在更新时要求关闭。

在版本(1.3.1.0)之后,将加入“同应用程序的目录下的进程自动请求关闭”的功能。但是,如果程序存在自保护情况,则依然需要这样去手动处理。