在推出一个新的软件包之后,我发现机器上的CPU使用率很高。 似乎真正活跃的一个进程是msiexec,这真的不应该运行。 我在stream程资源pipe理器中看着它,每隔一段时间我就可以看到它启动了新的stream程,我可以告诉它们与新软件有关…但stream程结束的速度相当快。
有没有什么办法可以得到一些关于Windows Installer目前的function?
我将添加到Process Explorer / Process Monitorbuild议 – 从Sysinternals运行FileMon和RegMon。 您可以过滤/保存msiexec和相关进程的日志,导出到csv,并具有文件系统和registry的完整操作列表。 与写入Windows Installer日志的内容进行比较/对比。
你也可以看看Scott Willeke的LessMsiérables(LessMSI)能为你做些什么…
http://lessmsi.activescott.com/
使用它来提取和更改MSI的GUID和/或内容,重新打包,检查MSI包中的所有项目等。
从Sysyinternals(MS现在)获取进程监视器 。 设置filter只能看msiexec.exe。 它会告诉你这个过程正在进行。
如果您可以控制安装包,则可以激活msiexec的日志logging。 查看“ Microsoft Windows安装程序工具Msiexec.exe的命令行选项 ”
Windows安装程序可能会产生多个msiexec.exe实例,原因有几个。
首先,Windows Installer具有用户界面序列 (可以通过静默运行安装来跳过)和安装顺序 。 这两个序列分别称为InstallUISequence和InstallExecuteSequence 。 由于Windows安装程序在安装过程中允许“ 提升权限 ”,InstallExecuteSequence将作为系统帐户运行。 换句话说,如果您以GUI模式启动安装程序并以这种方式启动安装,则通常会看到两个msiexec.exe进程。
此外MSI文件可以启动自定义操作 – 其中一些可以产生新的进程(EXE文件)。 这些操作可能会触发进一步msiexec.exe进程显示在任务pipe理器中。
Aaron Stebner在这里有一个更好的解释: http : //blogs.msdn.com/astebner/archive/2005/03/02/384088.aspx