什么可以导致Windows InstallDate更改?

我想知道是否有什么可以导致Windows安装date更改 – 特别是从Win32_OperatingSystem类的InstallDate。 我们使用C#中的ManagementObjectSearcher来获取各种系统信息以用于授权目的,并且在某些计算机上,Windows安装date已经没有明显的原因发生了变化。

我一直在试图找出确切地从哪里得到的安装date的信息,以便解决如果安装新的服务包或版本.net可能会导致此,但无济于事。

不幸的是,我们甚至不能看到它的变化,因为信息被散列(我们可能会看到它变了,但是我们不得不再次打扰客户)。

我想可能发生的另一件事情是,由于某种原因,将date时间从一种格式转换为另一种格式可能已经发生了变化,但是如果可能的话,我还是无法弄清楚。 这就是我们正在做的:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem"); foreach (ManagementObject wmi_Windows in searcher.Get()) { try { s = wmi_Windows["InstallDate"].ToString(); DateTime dc = ToDateTime(s); WindowsInfo.InstallDate = dc.AddTicks(-TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Ticks).ToLocalTime().ToString(); break; } catch (Exception ex) { //stuff here } } 

Solutions Collecting From Web of "什么可以导致Windows InstallDate更改?"

由Win32_OperatingSystem WMI类的属性InstallDate返回的值是从HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate键中检索的,该Windows注册表值以自1970年1月1日以来的秒数存储。如果修改该Windows注册表值,然后再次运行WMI查询您将获得修改的值。