可以卸载的已安装程序/更新列表

时间:2009-10-20 16:29:58

标签: c# .net vb.net registry

我知道所有已安装的程序和更新都可以在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中找到 注册表中的密钥。

但是,如何区分已安装的程序和已安装的更新?

2 个答案:

答案 0 :(得分:1)

我认为更新的值(默认值)通常以KB开头。真正的安装将具有DisplayName。另外,我会忽略SystemComponent设置为1的事情。

答案 1 :(得分:0)

调用MsiEnumProducts()将为您提供系统上所有已安装产品的产品代码。对于每个已安装的产品,请致电MsiGetProductInfo(),为您提供有关该产品的信息。

这比使用基于注册表的解决方案更直接。

This应该是一个很好的起点:

我相信你可以从c#调用c ++函数。