Você poderia examinar cada arquivo .MSI na pasta% SystemRoot% \ Installer. Todos os programas (?) Que são instalados através do instalador do Windows adicionarão seu MSI aqui para que possam ser UN instalados mais tarde. A pasta geralmente tem uma tonelada de coisas. Se / Depois de encontrar a dll entre esses pacotes de MSI, você terá que mapear o pacote de volta para um nome bem definido.
Para descompilar os arquivos msi usando um script, você pode tentar usar este link da ferramenta VBS ou pode tente um programa chamado MSIDiff (que eu nunca usei) link . É claro, considerando as limitações de não ter que instalar ferramentas, o último não será necessário nesse sentido. O primeiro seria se o cscript estivesse instalado.
A última ferramenta pode fazer o mapeamento do nome do pacote sem recorrer manualmente ao registro para obter o nome de arquivo GUID ou MSI apropriado. A primeira ferramenta pode ser modificada para despejar o nome do pacote se você souber qual tabela / coluna deve ser referenciada (eu não sei).
O script VBS simplesmente examina o arquivo MSI de uma perspectiva de banco de dados. O principal trabalho é feito com: database.OpenView ("SELECT FileName FROM File").