J'ai un fichier DLL dans le répertoire SYSTEM32 d'un serveur, dont je ne suis pas sûr d'avoir réellement besoin.
Google m'a dit à quoi il sert normalement, mais le logiciel n'a jamais été installé sur ce système. Néanmoins, je considère qu'il est possible que l'un des autres produits installés sur le serveur ait inclus (et, par conséquent, présumera, nécessitera) le fichier.
J'ai fait une recherche dans le registre pour le nom du fichier, ainsi que pour certaines chaînes que j'ai trouvées dans les métadonnées du fichier, et je n'ai rien trouvé d'information. (Bien que la touche ACMru ait attiré mon attention, jusqu'à ce que je sache à quoi elle sert .)
Y a-t-il autre chose que je puisse faire pour que le système lui-même me dise quel programme a installé la DLL et / ou quel (s) programme (s) installé (s) (le cas échéant) l’utiliserait?
REMARQUE: les suggestions d'outils sont agréables, mais je n'installerai ni n'exécuterai aucun logiciel supplémentaire sur ce système. Je dois travailler avec tout ce qui est disponible sur une installation par défaut de Server 2003.
Vous pouvez potentiellement examiner chaque fichier .MSI dans le dossier% SystemRoot% \ Installer. Tous les programmes (?) Installés via le programme d'installation de Windows ajouteront leur MSI ici afin qu'ils puissent être désinstallés ultérieurement. Le dossier contient généralement une tonne de choses. Si / Une fois que vous avez trouvé la DLL parmi cette myriade de packages MSI, vous devrez mapper le package sur un nom bien défini.
Pour décompiler les fichiers msi à l'aide d'un script, vous pouvez essayer d'utiliser cet outil VBS http://www.hanselman.com/blog/HowToListAllTheFilesInAnMSIInstallerUsingVBSciript.aspx ou vous pouvez essayer un programme appelé MSIDiff (que je n'ai jamais utilisé) http: //dennisbareis.com/msidiff.htm . Bien sûr, compte tenu des contraintes de ne pas avoir à installer d'outils, ces derniers ne seront pas obligés de travailler à cet égard. Le premier le ferait si cscript était installé.
Ce dernier outil peut effectuer le mappage de nom de package pour vous sans recourir à la recherche manuelle dans le registre du nom de fichier GUID ou MSI approprié. L'ancien outil peut être modifié pour vider le nom du package si vous saviez à quelle table / colonne faire référence (je ne sais pas).
Le script VBS examine simplement le fichier MSI du point de vue de la base de données. Le travail clé se fait avec: database.OpenView ("SELECT FileName FROM File").
la source
msi
installation ...Process Monitor peut le faire pour vous. Il suffit de filtrer par le nom de la DLL et lorsqu'un programme essaie de la charger, il y aura une entrée qui mentionne quel processus recherche et / ou accède à la DLL que vous avez mentionnée.
Vous devez également essayer de créer un journal de démarrage (activez la journalisation de démarrage dans le menu, puis redémarrez et ouvrez à nouveau le moniteur de processus) qui est nécessaire pour intercepter les programmes et services qui le chargent au démarrage.
la source