我想知道是否有任何可能导致Windows安装日期改变 - 从Win32_OperatingSystem类专门InstallDate。 我们使用ManagementObjectSearcher在C#中获得许可目的的各种系统信息,并在某些计算机上,Windows安装日期改变没有明显的原因。什么可以导致Windows InstallDate更改?
我一直在试图找出到底是哪里来的,为了获得对安装日期的信息制定出如果要安装新的服务包或.NET的版本可能会导致此,但无济于事。
不幸的是,我们甚至无法看到它发生了什么变化,因为信息被散列(我们可能会看到它改变了什么,但我们将不得不再次打扰客户)。
我想可能发生的另一件事是,从一种格式到另一种格式的日期 - 时间的转换可能因为某种原因而改变,但我无法弄清楚它是否可能。这就是我们正在做的:
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
}
}
谢谢,我已经找到了该注册表项,但不知道是否是那个WMI用的是同一个。这仍然没有解释它可能会如何变化,但... – standgale
据我现在这个值没有修改,当你应用一些Windows更新。所以也许这个值是由用户手动改变的。 – RRUZ
可能一般,但(可惜?)不太可能在软件跳水多个用户有进入注册表! – standgale