0

我有一个使用 XNA 框架用 C# 编写的应用程序。Update()所以,它基本上是用和构建的游戏Draw(),另一件事是这个应用程序旨在连续运行而不会停止。

问题是我想在运行时进行自动更新。我的意思是:我的应用程序正在运行,并且我有一个功能可以一直检查我的应用程序的其他版本(我对我的应用程序所做的更改并在新版本中重建它们)

如何使功能更新到指定文件夹中的另一个版本。它检查该文件夹是否包含项目新版本的 zip 存档,解压缩并关闭当前应用程序并从给定的 zip 存档启动新版本的应用程序。你能给我这个问题的起点吗?

4

1 回答 1

2

我会做其他管理它的应用程序......就像看门狗

这个应用程序将检查文件夹并重新启动主应用程序,并且应该可以配置为要求重新启动或不重新启动,并在一个时间范围内进行重新启动......(¿每天下午12:00?)

要杀死一个进程:

Process []pArry = Process.GetProcesses();

foreach(Process p in pArry)
{       
    if (p.ProcessName.CompareTo("yourapp") ==0)
    {
       p.Kill();
       break; 
    }
}
p.WaitForExit(); // This is blocking so be careful, maybe it should be run in other thread

要启动一个进程:

Process.Start(path);

您应该知道您的应用程序的流程应该是:

  1. Is a good time to patch the app?
     1.1 NO-> Sleep for some time to recheck (¿12h?) and goto 1
  2. Is there a new path?
     2.1 NO-> Goto 1.1
  3. Kill the main process
  4. Apply the patch
  5. Restart app
  6. Goto 1 
于 2012-06-18T08:12:00.077 回答