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

问题描述 投票:3回答:2

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

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

c# .net vb.net registry
2个回答
1
投票

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


0
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.