Answers:
我找到了此链接:如何确定DLL是否已注册?:
鉴于DLL注册可以包含任意操作,因此没有通用的方法来确定是否已为任意DLL进行注册。
要确定DLL是否已注册,您需要引入特定于域的知识。如果知道DLL使用特定的CLSID注册了COM对象,则可以检查该CLSID是否确实已注册。
是的,这是不可能的,但是DLL通常会自行注册,从而在寄存器中创建一个条目。解决方法是:
reg query HKCR\CLSID | find /i "{9F3DBFEE-FD77-4774-868B-65F75E7DB7C3}"
更好的答案是允许我在注册之前直接从文件中找到GUID。至少通过这种方式,您可以创建脚本来安装并验证脚本是否已成功安装。
REG QUERY
查找DLL文件名。
要从命令行查找DLL的注册表项(以及可选的COM对象),@ virgo47和@neves的答案的组合对我来说最合适。
reg查询HKLM \ SOFTWARE \ Classes / s / f what.dll
/s /f "{GUID}"
速度应比| findstr /i "{GUID}"
。快。这| find /i "{GUID}"
似乎是一个错字(但我还不能在Serverfault上写评论)。)
reg查询HKCR \ CLSID / s / f“ {9F3DBFEE-FD77-4774-868B-65F75E7DB7C3}”