web-dev-qa-db-ja.com

Windowsインストーラー(msiexec)が実行していることをどのように判断しますか?

新しいソフトウェアパッケージを展開した後、マシンのCPU使用率が高くなっています。本当にアクティブであると思われるプロセスの1つはmsiexecで、これは実際には実行されるべきではありません。私はそれをプロセスエクスプローラーで監視しています。時々、新しいソフトウェアが起動していることがわかりますが、プロセスはかなり早く終了します。

Windowsインストーラーが現在何をしているかについていくつかの詳細を取得する方法はありますか?

8
Boden

プロセスエクスプローラー/プロセスモニターの提案に追加します-SysinternalsからFileMonとRegMonも実行します。 msiexecと関連プロセスのログをフィルタリング/保存し、csvにエクスポートして、ファイルシステムとレジストリに対するアクションの完全なリストを取得できます。また、Windowsインストーラログに書き込まれた内容と比較/対比してください。

また、Scott WillekeのLessMsiérables(LessMSI)があなたにできることを見ることができます...

http://lessmsi.activescott.com/

MSIのGUIDやコンテンツの抽出と変更、再パッケージ、MSIパッケージのすべてのアイテムのチェックアウトなどに使用します。

7
mctsonic

Get Process Monitor from Sysyinternals(MS now)。フィルターをセットアップして、msiexec.exeのみを監視します。プロセスが実行していることがすべてわかります。

5
EBGreen

Windowsインストーラーは、いくつかの理由でmsiexec.exeの複数のインスタンスを生成する場合があります。

まず、Windowsインストーラーは、ユーザーインターフェイスシーケンス(サイレントインストールを実行することでスキップできます)、およびインストールシーケンス。これらのシーケンスの2つのテーブルは、それぞれInstallUISequenceおよびInstallExecuteSequenceと呼ばれます。 Windowsインストーラーがインストール中に「昇格された権限」を許可する方法により、InstallExecuteSequenceはシステムアカウントとして実行されます。つまり、セットアップをGUIモードで起動し、その方法でインストールを開始すると、通常、2つのmsiexec.exeプロセスが表示されます。

さらに、MSIファイルはカスタムアクションを起動できます。その一部は新しいプロセス(EXEファイル)を生成できます。これらのアクションにより、さらにmsiexec.exeプロセスがトリガーされ、タスクマネージャーに表示される場合があります。

Aaron Stebnerがより良い説明をしています: http://blogs.msdn.com/astebner/archive/2005/03/02/384088.aspx

もう1つのリンク: https://www.symantec.com/connect/blogs/multiple-msiexec-processes-running-during-installation

3
Stein Åsmul

インストールパッケージを制御できる場合は、msiexecのロギングをアクティブ化できます。 " Microsoft WindowsインストーラーツールMsiexec.exeのコマンドラインオプション "を見てください。

2
Igal Serban