2012-01-20 159 views
0

我想通過.Net從Windows Update API獲取LastInstallationSuccessDate和LastSearchSuccessDate。我可以得到IAutomaticUpdates2.Results,但其中包含的這兩個屬性爲空。爲什麼他們的日期不像文檔狀態?爲什麼WUApiLib.AutomaticUpdates Results.WUApiLib.AutomaticUpdates爲空?

class Program 
{ 
    static void Main(string[] args) 
    { 
     WUApiLib.IAutomaticUpdates2 auc = new WUApiLib.AutomaticUpdates(); 
     Console.WriteLine(auc.Results.LastInstallationSuccessDate); 
     Console.WriteLine(auc.Results.LastSearchSuccessDate); 
    } 
} 
+0

它正在使用Windows 7 x64,但不能在Windows XP x86上使用。 –

+0

我會猜測WUApiLib支持僅限於Vista和更高版本。 –

+0

在這個網站的簡單搜索讓我發現這個討論:http://stackoverflow.com/questions/5690615/c-sharp-windows-update-api-wuapilib –

回答

0

雖然LastInstallationSuccessDate和LastSearchSuccessDate在COM接口存在他們在Windows XP不支持,總是返回null。

同樣,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\InstallLastSuccessTimeHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Detect\LastSuccessTime註冊表值在Windows XP中不存在。

似乎可以使用解析%windir%\ SoftwareDistribution \ ReportingEvents.log來近似此功能,但應該考慮性能,因爲該文件可能變得非常大。