Comment déterminer ce que fait Windows Installer (msiexec)?

8

Après avoir déployé un nouveau progiciel, je constate une utilisation élevée du processeur sur les machines. Un processus qui semble vraiment actif est msiexec, qui ne devrait vraiment pas être en cours d'exécution. Je le regarde dans l'explorateur de processus et de temps en temps je peux le voir lancer de nouveaux processus dont je peux dire qu'ils sont liés au nouveau logiciel ... mais les processus se terminent assez rapidement.

Existe-t-il un moyen d'obtenir des détails sur ce que fait actuellement Windows Installer?

Boden
la source
Voir ma réponse dans le fil. Si msiexec.exe apparaît et se termine assez rapidement, le moteur Windows Installer a probablement exécuté une action personnalisée dans le MSI en cours d'installation. En d'autres termes, un morceau de code personnalisé pour configurer correctement l'application.
Stein Åsmul

Réponses:

7

J'ajouterais à la suggestion Process Explorer / Process Monitor - exécutez également FileMon et RegMon à partir de Sysinternals. Vous pouvez filtrer / enregistrer un journal de msiexec et des processus associés, exporter vers un fichier csv et disposer d'une liste complète d'actions vers le système de fichiers et le registre. Comparez / contrastez également avec ce qui a été écrit dans le journal Windows Installer.

Vous pouvez aussi voir ce que Less Msiérables (LessMSI) de Scott Willeke peut faire pour vous ...

http://lessmsi.activescott.com/

Utilisez-le pour extraire et modifier les guides et / ou le contenu de MSI, reconditionner, vérifier tous les éléments du package MSI, etc.

mctsonic
la source
2
Process Monitor encapsule toutes les fonctionnalités de FileMon et RegMon dans une seule application.
EBGreen
Et RegMon / Filemon sera arrêté à la fin du mois.
dmoisan
5

Obtenez Process Monitor de Sysyinternals (MS maintenant). Configurez le filtre pour ne regarder que msiexec.exe. Il vous dira tout ce que le processus est en train de faire.

EBGreen
la source
3

Le programme d'installation de Windows peut générer plusieurs instances de msiexec.exe pour plusieurs raisons.

Tout d'abord, Windows Installer propose une séquence d'interface utilisateur (qui peut être ignorée en exécutant l'installation en mode silencieux) et une séquence d'installation . Les deux tables de ces séquences sont appelées respectivement InstallUISequence et InstallExecuteSequence . En raison de la façon dont Windows Installer autorise des " droits élevés " pendant l'installation, InstallExecuteSequence s'exécutera en tant que compte système. En d'autres termes, si vous lancez l'installation en mode GUI et lancez l'installation de cette façon, vous verrez normalement deux processus msiexec.exe.

De plus, les fichiers MSI peuvent lancer des actions personnalisées - dont certaines peuvent engendrer de nouveaux processus (fichiers EXE). Ces actions peuvent déclencher d'autres processus msiexec.exe à apparaître dans le gestionnaire de tâches.

Aaron Stebner a une meilleure explication ici: http://blogs.msdn.com/astebner/archive/2005/03/02/384088.aspx

Un lien de plus: https://www.symantec.com/connect/blogs/multiple-msiexec-processes-running-during-installation

Stein Åsmul
la source