【问题标题】:I am looking for information to make my windows form app self updating我正在寻找信息以使我的 Windows 窗体应用程序自我更新
【发布时间】:2010-03-27 18:30:36
【问题描述】:

我想让我的 Windows 窗体应用程序在启动时自动更新。我在哪里可以找到这方面的好信息?

我正在使用 Visual Studio 2008 VB.NET。


我喜欢点击一次的方法。有了这个应用程序,我有一个访问数据库作为后端数据存储。当应用程序自我更新时,我如何确定 mdb 文件没有被覆盖?

如果更改 mdb 文件但不丢失数据,那么自我升级 mdb 的最佳方法是什么?

【问题讨论】:

标签: vb.net winforms self-updating


【解决方案1】:

如果您使用ClickOnce 进行部署,您将免费获得此功能。我(目前)还没有这方面的经验,但我可以指点您article

【讨论】:

    【解决方案2】:

    我多年来一直在使用 Click Once,几乎没有什么问题。

    【讨论】:

      【解决方案3】:

      我编写了一个自定义自动更新程序,基本上,它的工作方式是这样的:

      整个应用程序本质上是 3 个部分:

      1. 本质上类似于引导程序的启动器 .exe
      2. 启动器 .exe 具有嵌入式 .exe 资源,如果启动器 .exe 本身需要更新,则使用该资源
      3. 应用程序 dll 的

      当您启动应用程序时,启动器应用程序会启动并通过网络服务检查 dll 是否是最新的。如果不是,它将它们下载到一个临时目录,然后确保校验和都正确,并用新的应用程序库覆盖现有的应用程序库。然后它会加载应用程序的核心程序集并通过反射调用“运行”方法。

      现在,在我们的应用中,我们有时需要更新启动器本身,我们实现此目的的方法是在启动器 .exe 资源中嵌入一个 .exe。如果启动程序检测到有新的启动程序 .exe 可用,它会将其下载到临时目录,然后提取 .exe 并启动它。提取的 .exe 只是关闭启动器进程,将新的启动器 .exe 复制到旧的启动器 .exe 上,然后再次启动启动器进程。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 2023-02-10
        相关资源
        最近更新 更多