我正在为产品创建补丁。在修补程序安装期间,我不希望修补程序访问原始文件的详细信息。因此,在Patch创建属性中,我已将IncludeWholeFilesOnly的值更改为1。
但修补程序创建属性(PCP )文件中的' IncludeWholeFilesOnly' 属性值为1(一)会传递错误的时间戳对于在该特定补丁中提供的未版本化的 dll&#39> 。
问题是代替dll修改时间戳,它显示了补丁创建时间戳。
如果我将 IncludeWholeFilesOnly 的值更改为0,那么一切都会正常。
如何解决此问题。是否有任何其他属性我可以修改,以便时间保持不变。
答案 0 :(得分:0)
时间戳是无关紧要的(即使它们是你的),因为它们不用于任何地方来决定文件是否是最新的。所以系统不会保留它们。当您安装非版本化文件时,它会将创建日期和修改日期设置为相同,以便任何修改都将更改修改日期,Windows将假定该文件已更新,因此修补程序不会覆盖它。
根据版本规则替换或不替换版本化二进制文件;根据文件哈希值替换或不替换数据文件:
http://msdn.microsoft.com/en-us/library/aa368599(v=vs.85).aspx
,例如您的非版本化文件:
http://msdn.microsoft.com/en-us/library/aa370531(v=vs.85).aspx
所以这就是它的工作方式,日期不会用来决定哪个是最新的。管理二进制文件版本的最佳方法是使用文件版本。
是否存在实际问题,或者您是否不喜欢日期更改的方式?