有一些应用程序不是按名称显示的,而是由ProgID显示的,是否有任何方法在注册表中获取该项的名称?
https://learn.microsoft.com/en-us/windows/win32/com/-progid--key
发布于 2022-04-16 22:14:37
微软建议is以Company.Appname
或Company.Appname.Suffix
的形式创建progids,但这与此无关,因为您感兴趣的卸载密钥名称实际上根本不是一个程序!Progids由文件/协议关联和COM使用。有些浏览器使用Appname.Hash
,其中哈希由散列路径计算。
卸载密钥名可以是任何内容(但希望不会与其他任何人发生冲突)。MSI安装程序使用GUID (这个GUID映射到与MSI相关的东西,产品代码)。其他安装程序通常使用应用程序名称的一些变化。
您应该枚举所有卸载注册表项,并将键名的开头与您感兴趣的任何应用程序进行比较,并/或查看卸载键中的字符串(如DisplayName、Publisher和UninstallString)。
Powershell知道如何映射MSI GUID:
get-wmiobject Win32_Product | Format-Table IdentifyingNumber, Name
https://stackoverflow.com/questions/71895028
复制相似问题