0

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

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

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

4

1 回答 1

0

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

我不确定如何使二进制文件不从部署项目中键入。它是 Installshield 项目中的逐个文件选项。

如果您使用安装程序安装存根或应用程序的入口点,并 xcopy 其余的依赖项,Windows Installer 将不会在修改超出范围时修复安装。

于 2009-12-18T16:20:27.127 回答