0

我为我的 Windows 应用程序开发了一个更新程序应用程序。它们是同一解决方案下的不同项目,它们作为不同的进程运行。当我运行应用程序时,它会在启动时检查更新(作为另一个进程)。当我单击更新按钮时,它会尝试将文件下载到安装位置。(我在调试文件夹中使用 .exe 我没有创建安装文件)一切正常,但主应用程序(app.exe)不能被覆盖,因为它被更新过程使用。但在更新过程中,我杀死了 app.exe,而 app.exe 也从任务管理器中去了。我找不到任何东西,更新如何使用 main app.exe。有谁知道更新如何使用主应用程序?我怎么看?它从哪一行开始使用其他应用程序?

4

4 回答 4

1
  1. 重命名 app.exe
  2. 插入新的app.exe
  3. 关闭运行,旧 app.exe
  4. 启动新的app.exe
  5. 检查重命名的 app.exe(在新启动的 app.exe 中)
  6. 删除旧的、重命名的 app.exe
于 2010-07-22T12:37:06.937 回答
0

如果更新程序应用程序引用了主应用程序 exe,它将保持锁定状态。如果是这种情况,您可以从更新应用程序项目中删除对主应用程序的引用吗?这可能需要将一些代码直接移动到更新程序的源代码中。

于 2010-07-22T12:37:59.720 回答
0

要找出谁参与了您的流程,您应该启动ProcessExplorer。菜单栏中有一些间谍眼镜。只需单击它并查看哪个进程拥有您的应用程序的句柄。

于 2010-07-22T12:38:59.963 回答
0

你需要自己发明吗?您可以利用现有的解决方案来做到这一点。如果 Microsoft ClickOnce 适合您的部署模型,则它支持此功能。

一个快速的谷歌搜索也出现了一些事情:

于 2010-07-22T13:23:24.520 回答