我现在想通过C#得到和Microsoft的“添加或删除程序”里面显示一样的软件列表
目前我找到的方式是读取注册表中的项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
但是这里的信息不完整,我安装的winrar,暴风影音都不在这显示。和“添加或删除程序”比较少了一些程序我是64位元的机器,我发现在:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall下面也同样有程序的列表,但和上面的列表不一样。而且会出现如"Office word,Office Excel"等细项我只想得到和“添加或删除程序”显示的列表一样,请高手提供个方法或思路。不胜感激。
目前我找到的方式是读取注册表中的项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
但是这里的信息不完整,我安装的winrar,暴风影音都不在这显示。和“添加或删除程序”比较少了一些程序我是64位元的机器,我发现在:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall下面也同样有程序的列表,但和上面的列表不一样。而且会出现如"Office word,Office Excel"等细项我只想得到和“添加或删除程序”显示的列表一样,请高手提供个方法或思路。不胜感激。
API可以得到这样的信息嘛?是哪个API了?
hongyelzg(风中过客)
我现在就是找的注册表
可是出来的结果不是想要的。目前还不知道有什么别的键值可以帮助判断
http://msdn2.microsoft.com/en-us/library/aa370101.aspx
MsiEnumProductsEx
http://msdn2.microsoft.com/en-us/library/aa370102.aspx
MsiGetProductInfo
http://msdn2.microsoft.com/en-us/library/aa370130.aspx
MsiGetProductInfoEx
http://msdn2.microsoft.com/en-us/library/aa370131.aspx
wmi中无法获取到这样的信息。
1. 两个里面有重复,我想microsoft应该不是单纯的比较重复的就不加载。应该有更好的方式识别
2. 会有word,excel等细项,如何合并成一样的总的。不需要各个安装的子项也列出来。
HKEY_CURRENT_USER 找找, 64位的操作系统在具体哪个位置也不太清楚了....
我安装的winrar等信息在64位元的键值下有怎么把Office的细项过滤怎么就没有人提供一些意见了,呵呵