2012-08-06 88 views
0

有什麼方法(使用WMI類在C#中)找出特定軟件的安裝和卸載次數?在計算機上安裝和卸載軟件的次數有多少次

我想在遠程計算機上運行它。我正在通過以下代碼獲取軟件列表:

ManagementScope scope = new ManagementScope(@"\\" + ipAddress + @"\root\cimv2"); 
ObjectQuery query = new ObjectQuery("Select * from Win32_Product"); 
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); 
ManagementObjectCollection queryCollection = searcher.Get(); 
foreach (ManagementObject m in queryCollection) 
{ 
    Console.Write(m["Caption"]+"\t"); 
    Console.WriteLine(m["installDate"]); 
} 
+1

哪個軟件?您自己的軟件或第三方軟件? – 2012-08-06 12:57:41

+0

我的意思是安裝在遠程計算機上的所有軟件....不是關於我自己的軟件 – Arshad 2012-08-11 03:47:52

回答

1

通常不會。

當程序將被卸載時,程序的每一位都應該從機器中刪除,就像它從來不是它們的。不幸的是,幾乎所有的程序都沒有在這一點上做出完美的工作,在機器上留下一些文物。

儘管如此,預期的行爲是,卸載後一切都消失了(包括某種計數器),以便只能檢查程序是否當前安裝。

在另一個網站上沒有允許程序保存在某個地方的一些計數器(如註冊表),這將增加每次一個安裝開始,但這是特定於每個程序的東西,沒有共同的機制存在,其中該計數器應該駐留。

相關問題