Wenn Sie eine DLL auf alten Computern (Windows XP) registrieren, meldet regsrv immer, dass die Registrierung erfolgreich war. Dies geschieht auch dann, wenn der Benutzer keine Berechtigung zur Registrierung hat.
Gibt es unter dem Namen der DLL einen Befehl, den ich in der Befehlszeile ausführen kann, um zu überprüfen, ob eine DLL installiert ist?
quelle
REG QUERY
, um nach dem DLL-Dateinamen zu suchen.Ich musste überprüfen, ob eine DLL mit einem bestimmten Namen registriert ist, und ich habe diesen Befehl in meinem BAT verwendet:
Wenn mit errorlevel Kontrolle an das Label gesendet wird
reg query
, wenn nichts gefunden wird. Möglicherweise müssen Sie den Teil der Registrierung ändern, in dem Sie suchen (in meinem FallHKLM'...
, je spezifischer der Pfad, desto schneller, sonst dauert es sehr lange).Die Ausgabe kann bei Bedarf verarbeitet werden, die GUID für den Eintrag kann abgerufen werden, dies liegt jedoch außerhalb des Bereichs des Befehls reg query.
quelle
Um Registrierungseinträge (und optional COM-Objekte) für eine DLL über die Befehlszeile zu finden , hat eine Kombination der Antworten von @ virgo47 und @neves für mich am besten funktioniert.
/s /f "{GUID}"
sollte schneller sein als| findstr /i "{GUID}"
. Und| find /i "{GUID}"
scheint ein Tippfehler zu sein (aber ich kann noch keine Kommentare zu Serverfault schreiben).)quelle