2009-10-20 114 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++函数。

相关问题