Windows 7自我/自动更新可执行文件

时间:2011-10-14 20:37:20

标签: windows-7 batch-file exe auto-update

自从Windows 95以来,我的程序自定义了自动更新功能。它曾经工作正常,直到Vista和Windows 7.它基本上做的是下载新的可执行文件,创建批处理文件和执行它。批处理文件只是等待父可执行文件关闭(通过不断尝试删除它),然后将下载的新文件移动/重命名为旧文件。甚至运行新下载的。多年来一直很好。但Windows 7并不是真的喜欢我这样做。有一点是它“知道”可执行文件不再相同(即使它们的名称和路径相同)。

有没有办法通过将可执行属性/权限复制到新的可执行属性/权限来静默替换可执行文件,以便Windows 7不会抱怨它是一个不同的exe? (当然我需要这个用于自动更新功能,所以我也对其他方法持开放态度)

2 个答案:

答案 0 :(得分:0)

用.NET打造的Hmm ClickOnce很适合...不知道你的意思是Windows 7抱怨exe。

答案 1 :(得分:0)

不确定您所描述的警告但我遇到了问题,我将更新放在一个单独的目录中,该目录打破了任务栏中的固定项目。

一种方法是让瘦加载器安装一次,然后将更新的程序加载到自己的内存空间。这样,如果固定在任务栏中,它将被识别为相同的程序。

我只熟悉使用.NET AppDomain,但我认为大多数其他运行时也可以这样做。