我正在使用 VBScript 复制 Windows 7/8 添加删除程序小程序。我已经让脚本包含所有正确的条目,但我无法让它包含 Windows 显示的所有正确的附加信息。
例如:Windows 显示带有日期的“安装时间”列。在某些情况下,它会从相关的注册表项中获取这些信息,例如:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKUS\USER - SID\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
实际上很少有键具有 InstallDate 值,并且 Windows 总是填充此列。我已经设法从 WMI 中获取了大部分缺失的日期:
("SELECT * FROM Win32_Product Where Description = " & "'" & strName & "'" & "")
for each objSoftware in colSoftware
Date = objSoftware.InstallDate
这仅给出 MSI 安装应用程序的日期。
我在想也许 Windows 根据 Program Files/ProgramData 文件日期“猜测”了日期,但我尝试手动更改它们,但它没有反映在添加/删除中。我试图弄清楚 Windows 是如何得出这个日期的。我注意到 CCleaner 可以无错误地重现添加/删除,因此此信息在某处可用。我已经筋疲力尽地寻找它。