我们开发了一个程序来检查我们的网站,看看是否有新版本。当新版本可用时,下载程序将启动并检索文件,然后将整个文件夹复制到源代码之上,并使用新版本重新启动程序。
问题在于,当我们第二次运行程序时,软件实际上没有更新 - 也就是说,刚刚下载和复制的文件已经恢复到原始版本。
有没有办法防止这种情况?我们通常使用.NET 2008中的安装和部署项目来构建我们的应用程序安装程序。
答案 0 :(得分:0)
我认为您可能需要确保更新的二进制文件不是安装中的密钥文件。默认情况下,所有二进制文件都是密钥文这实际上为您的安装中的每个文件创建了一个唯一的注册表项。 Windows将监视这些文件,并在删除或更改任何文件时复制其缓存的文件副本。
我不确定如何使部署项目中没有键入二进制文件。它是Installshield项目中的逐个文件选项。
如果使用安装程序和xcopy安装应用程序的存根或入口点,则安装程序和xcopy将在修改超出范围时修复安装。