답변:
이 링크를 찾았 습니다. 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이 등록되어 있는지 확인하고 BAT에서이 명령을 사용했습니다.
reg query HKLM\SOFTWARE\Classes /s /f whatever.dll
if errorlevel 1 goto DLL_MISSING
오류 수준이있는 경우 reg query
아무것도 발견 할 때마다 컨트롤을 레이블로 보냈습니다 . 검색 할 레지스트리 부분을 변경해야 할 수도 있습니다 (제 경우 HKLM'...
에는 더 구체적인 경로가 빠를수록 그렇지 않으면 실제로 오래 걸립니다).
필요한 경우 출력을 처리 할 수 있으며 항목의 GUID를 얻을 수 있지만 reg query 명령의 범위를 벗어납니다.
커맨드 라인에서 DLL에 대한 레지스트리 항목 (및 선택적으로 COM 객체)을 찾으려면 @ virgo47과 @neves의 대답이 가장 효과적이었습니다.
reg 쿼리 HKLM \ SOFTWARE \ Classes / s / f whatever.dll
/s /f "{GUID}"
속도가 | findstr /i "{GUID}"
. 보다 빠릅니다 . | find /i "{GUID}"
오타 인 것 같습니다 (그러나 Serverfault에 대해서는 아직 의견을 쓸 수 없습니다).)
reg 쿼리 HKCR \ CLSID / s / f "{9F3DBFEE-FD77-4774-868B-65F75E7DB7C3}"