尝试使用 WMI 获取 Windows XP 的已安装程序列表。使用 wmic,我试过:
wmic /output:c:\ProgramList.txt product get name,version
我得到了许多已安装程序的列表,但是在根据“添加/删除程序”显示的内容删除此列表后,我看到在添加/删除程序的 GUI 中列出的程序比 WMI 查询要多得多。我需要使用另一个 WMI 查询来安装其余程序吗?或者还有其他地方我需要寻找休息吗?
此外,WMI 查询中列出了两个已安装的程序,它们不在“添加/删除程序”中。知道为什么吗?
最佳答案
我相信您的语法使用的是 Win32_Product WMI 中的类。一个原因是此类仅显示使用 Windows Installer (See Here) 安装的产品。 Uninstall Registry Key是您最好的选择。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
评论更新:
卸载注册表项是列出已安装和未安装内容的标准位置。这是添加/删除程序列表将用于填充应用程序列表的位置。我确信有些应用程序没有在此位置列出自己。在那种情况下,您将不得不求助于另一种更粗暴的方法,例如搜索 Program Files 目录或查看“开始”菜单程序列表。这两种方式肯定都不理想。
在我看来,查看注册表项是最好的方法。
关于windows - WMI "installed"查询与添加/删除程序列表不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/673233/