如何更新正在运行的EXE?

时间:2012-09-04 09:57:58

标签: delphi auto-update

如何用新版本替换正在运行的EXE?

2 个答案:

答案 0 :(得分:5)

你可以this way

  1. 重命名正在运行的EXE,
  2. 将新版本复制到旧名称
  3. 启动新版本时,删除重命名的EXE
  4. 请注意,这绝对是not recommended behaviour

答案 1 :(得分:3)

简短:停止并启动新版本。

Long:启动应用程序时,操作系统会将应用程序加载到内存中(或至少是所需的部分),并设置运行程序的所有内存区域。在应用程序运行时,操作系统不再需要二进制文件(您称之为EXE)。

如果您想要在正在运行的应用程序中替换代码,可以通过替换代码段来实现。我不知道Windows中是否可行或简单。另一个选择可能是使用某种插件系统,您可以在应用程序仍在运行时替换部分应用程序。