1

msi パッケージのインストール中に http 要求が行われたかどうかを確認しようとしています。http 要求が行われるプロセスは、インストーラーが実行されるプロセスと系統を共有していないように見えます。

たとえば、インストール中に http 呼び出しを行うアプリをインストールします。SysInternals プロセス モニターを使用すると、インストールの開始時に作成されたプロセスが表示されます。MS NetworkMonitor を使用すると、http 要求の生成に使用されるプロセスを確認できます。事後に Process Monitor でフィルタリングすると、http プロセスとインストール プロセスの間に関係がないことが示されます。

httpリクエストが行われるたびに、OSが新しいプロセスを使用するように言っていると思います。私の最も重要な要件は、「このアプリのインストールは、インストール中にこれらの http リソースを呼び出しました」と明確に言うために、一方を他方に関連付けることができることです。そのため、すべてが裏でどのように機能するかを完全に理解する必要はありませんが、私は今行き詰まっています。私は、この 2 つを関連付ける方法はないと結論付けました。私が間違っている?

4

2 に答える 2

3

msiexec.exeさて、 がヘルパーを呼び出し、そのヘルパーが HTTP トラフィックの原因となっているものを呼び出すと仮定しましょう。最初のヘルパーが子をスポーンした直後に、それは自分自身を殺します。このプロセスは短命すぎて、通常はここで関係を確認できません。

Process Monitor の「プロセス ツリー」機能に入ります。プロセス イベントにフィルタを適用せずに、Process Monitor を実行し続けます。Ctrl完了したら、 +を押しTてプロセス ツリーを表示できます (以下を参照)。

プロセスツリー機能

灰色のアイコンは、プロセスがアクティブでなくなったことを示します。さらに、最後の列はプロセスの終了時刻です。しかし何よりも、存続期間が非常に短いプロセスであっても、どのプロセスが他のどのプロセスを作成したかを確認できます。

Process Monitor とその前任者の著者である Mark Russinovich は、約 1 か月前に TechEd でこれを実演しました。

これで質問に完全に答えることはできないかもしれませんが、正しい方向に進むはずです。結局のところ、Process Monitor にはネットワーク アクティビティのフィルタリングも含まれています (Network Monitor や Wireshark と比較すると粗雑ではありますが :))。

ところで、上のスクリーンショットの緑色のバーは「タイムライン」で、他のプロセスとの関連でプロセスの実行時間を確認できます。とても気の利いた。

于 2012-07-14T00:01:48.077 に答える
1

Webリクエストを行うためにカスタムアクションを使用していますか?Windowsインストーラサービスプロセスは、メインのセットアップインスタンスとは別のMSIEXECインスタンスでカスタムアクションを実行します。

詳細はこちら: http: //blogs.msdn.com/b/astebner/archive/2005/03/02/384088.aspx

于 2012-07-13T23:50:07.960 に答える