代码之家  ›  专栏  ›  技术社区  ›  David Brunelle

如何让我的自动更新程序替换程序文件?

  •  0
  • David Brunelle  · 技术社区  · 14 年前

    我们开发了一个程序,检查我们的网站,看看是否有新版本可用。当新版本可用时,下载程序启动并检索文件,然后将整个文件夹复制到源上,并用新版本重新启动程序。

    问题是,当我们第二次运行程序时,软件实际上没有更新——也就是说,刚刚下载和复制的文件已经恢复到原来的版本。

    有没有办法防止这种情况发生?我们通常使用.NET 2008中的安装和部署项目来构建应用程序安装程序。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Scott P    14 年前

    我认为您可能需要确保正在更新的二进制文件不是安装中的关键文件。默认情况下,所有二进制文件都是密钥文件。这实际上为安装中的每个文件创建了一个唯一的注册表项。Windows将监视这些文件,并在删除或更改任何文件时将其缓存的文件副本复制回去。

    我不知道如何使二进制文件不是从部署项目中键入的。它是InstallShield项目中的逐文件选项。

    如果在安装程序和xcopy其余依赖项的情况下安装应用程序的存根(或入口点),Windows安装程序将不会在超出界限的情况下修复安装。