【问题标题】:C# Updater for Windows App适用于 Windows 应用程序的 C# 更新程序
【发布时间】:2010-07-22 12:29:50
【问题描述】:

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

【问题讨论】:

    标签: c# desktop-application multitasking


    【解决方案1】:
    1. 重命名 app.exe
    2. 插入新的 app.exe
    3. 关闭运行,旧 app.exe
    4. 启动新的app.exe
    5. 检查重命名的 app.exe(在新启动的 app.exe 中)
    6. 删除旧的、重命名的 app.exe

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 它有参考,我也这么认为,而不是我删除了参考,我创建了一个新的 .dll 而不是它现在我没有任何参考,但它仍然被锁定我现在正在尝试什么 Maxem说谢谢大家
      【解决方案3】:

      要了解谁参与了您的流程,您应该开始 ProcessExplorer。菜单栏中有一些间谍眼镜。只需单击它,然后查看哪个进程拥有您的应用的句柄。

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2014-01-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多