2009-10-20 115 views
3

我知道所有安裝的程序和更新程序都可以在註冊表中的HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall鍵中找到。可以卸載的已安裝程序/更新列表

但是,如何區分安裝的程序和已安裝的更新?

回答

1

我相信更新有一個通常以KB開頭的(默認)值。一個真正的安裝會有一個DisplayName。此外,我會忽略與SystemComponent設置爲1的東西。

+0

這似乎是一個合理的方法。對我自己的註冊表的評論確認更新具有(默認)的KB *值。 – Corin 2009-10-22 22:37:33

0

調用MsiEnumProducts()將爲您提供系統上所有已安裝產品的產品代碼。對於每個已安裝的產品,調用MsiGetProductInfo()將爲您提供有關該產品的信息。

這比使用基於註冊表的解決方案更直接。

This應該是一個很好的起點:

我相信你可以從C#調用C++函數。

相關問題