Eu tenho um arquivo DLL no diretório SYSTEM32 de um servidor, do qual não tenho certeza se realmente preciso.
O Google me disse para que é normalmente usado, mas o software nunca foi instalado neste sistema. Ainda assim, considero possível que um dos outros produtos instalados no servidor possa ter incluído (e, portanto, presumivelmente, exigirá) o arquivo.
Pesquisei no registro o nome do arquivo e também algumas strings que encontrei nos metadados do arquivo, e não consegui encontrar nada informativo. (Embora a chave do ACMru tenha me chamou a atenção, até eu descobrir para que serve .)
Há mais alguma coisa que eu possa fazer para que o próprio sistema me diga qual programa instalou a DLL e / ou que programa (s) instalado (se houver) o usaria?
NOTA: As sugestões de ferramentas são boas, mas não instalarei ou executarei nenhum software adicional neste sistema. Preciso trabalhar com o que estiver disponível em uma instalação padrão do Server 2003.
fonte
Você pode examinar potencialmente cada arquivo .MSI na pasta% SystemRoot% \ Installer. Todos os programas instalados pelo instalador do Windows adicionam o MSI aqui para que possam ser desinstalados posteriormente. A pasta geralmente tem uma tonelada de coisas. Se / Depois de encontrar a dll entre os inúmeros pacotes MSI, será necessário mapear o pacote de volta para um nome bem definido.
Para descompilar os arquivos msi usando um script, você pode tentar usar esta ferramenta VBS http://www.hanselman.com/blog/HowToListAllTheFilesInAnMSIInstallerUsingVBSciript.aspx ou você pode tentar um programa chamado MSIDiff (que eu nunca usei) http: //dennisbareis.com/msidiff.htm . Obviamente, considerando as restrições de não ter que instalar ferramentas, as últimas não funcionarão nesse sentido. O primeiro seria se cscript estiver instalado.
A última ferramenta pode fazer o mapeamento do nome do pacote para você sem recorrer à pesquisa manual no registro do nome do arquivo GUID ou MSI apropriado. A ferramenta anterior pode ser modificada para despejar o nome do pacote se você souber qual tabela / coluna referenciar (não sei).
O script VBS simplesmente examina o arquivo MSI da perspectiva do banco de dados. O trabalho principal é feito com: database.OpenView ("SELECT FileName FROM File").
fonte
msi
instalação ...O Process Monitor pode fazer isso por você. Basta filtrar pelo nome da DLL e quando um programa tentar carregá-la, surgirá uma entrada que menciona qual processo está procurando e / ou acessando a DLL mencionada.
Você também deve tentar fazer um log de inicialização (ative o log de inicialização no menu, reinicie e abra o monitor de processo novamente), o que é necessário para capturar programas e serviços que o carregam na inicialização.
fonte