Eu encontrei este link: Como posso saber se uma DLL tem foi registrado? :
Given that DLL registration can encompass arbitrary operations, there is no general-purpose way of determining whether registration has taken place for an arbitrary DLL.
To determine whether a DLL has been registered, you need to bring in domain-specific knowledge. If you know that a DLL registers a COM object with a particular CLSID, you can check whether that CLSID is indeed registered.
OK, é impossível, mas as DLLs geralmente se registram criando uma entrada no registro. Uma solução alternativa é:
- Primeiro você precisa descobrir o GUID COM da DLL. Se você tem uma máquina onde já está registrada, você pode:
- Abra o regedit e procure por seu nome de arquivo DLL
- Se estiver registrado, você encontrará o nome do arquivo em uma chave que esteja sob o TypeLib. A chave será semelhante a: {9F3DBFEE-FD77-4774-868B-65F75E7DB7C2}
- Agora que você conhece o DLL GUID, é possível procurá-lo com esse comando em um prompt do DOS:
reg query HKCR\CLSID | find /i "{9F3DBFEE-FD77-4774-868B-65F75E7DB7C3}"
Uma resposta melhor me permitiria encontrar o GUID diretamente do arquivo antes de ser registrado. Pelo menos dessa maneira você pode criar um script para instalar e verificar se ele foi instalado com sucesso.