我有一个应用程序,每次运行时都会自动更新。它通过比较程序目录中每个文件的“已修改”时间戳,从网络文件共享中复制较新的文件来实现此目的。
我使用Inno Setup Compiler打包此程序,并在测试系统上运行生成的安装程序。与编译安装程序时使用的文件相比,所有已安装文件的时间戳都早一秒。这会导致程序目录中的每个文件在首次运行时从文件共享中重新复制。对于带宽有限的远程用户来说,这是一个问题。
在我的Inno Setup脚本和四个不同的测试系统中设置和不使用“TimeStampsInUTC”指令时,我已经尝试了很多次。时间戳一直是一秒钟。
这可能是Inno Setup Compiler中的一个问题吗?有什么建议可以解决这个问题吗?我希望很快就能在两个新办公室使用这个安装程序。
答案 0 :(得分:1)
有TimeStampRounding
directive,默认设置为2:
默认情况下,非
external
[文件]部分条目引用的文件上的时间戳会向下舍入到最接近的2秒边界。 FAT分区只有2秒的时间戳分辨率,因此可以确保在FAT和NTFS分区上设置相同的时间戳。通过设置
TimeStampRounding
指令可以更改或禁用舍入。 将其设置为0将禁用舍入。将其设置为1到60之间的数字将使时间戳向下舍入到最接近的TimeStampRounding
- 秒边界。
(强调我的)