我有两台 Windows XP 机器,在安装任何软件的最后都会锁定几秒钟微星。他们唯一的共同点似乎就是:
- 我在上面安装了很多软件
- 我经常会安装和卸载持续集成版本的SharpDevelop MSI. 这些 MSI 是由威克斯
至于防病毒软件等,一台机器运行SpyBot 搜索并摧毁,包括 teatimer 组件和小红伞另一台运行 Symantec Corporate Edition。
在其中一台机器上,我使用以下方法开发了几个安装程序Visual Studio 安装项目。
安装过多 MSI 或不断安装和卸载 MSI 会导致 MSI 安装期间出现性能问题,这是一个已知问题吗?是否有任何工具可以清理 MSI 数据库?
答案1
要调试这些类型的问题,通常需要从命令行调用安装程序并启用日志记录:
msiexec.exe /i TheInstaller.msi /log C:\SomeFolder\InstallLog.log
如果您查看日志文件,您可能会看到它被暂停的特定安装阶段,然后从那里缩小问题范围。
过去,我遇到过一个问题,我所开发的某个产品的安装程序花了好几个分钟卡在最后阶段之一。原来我的 .NET GAC 文件夹中有几个大型崩溃转储文件(由于此特定产品中的一个错误),而 Windows Installer 似乎不喜欢这种情况。删除这些文件后,问题就消失了。
答案2
您可以尝试Windows 安装程序清理实用程序
我以前遇到类似问题时就用过它,尤其是在对 MSI 安装程序进行版本控制时。我最终改用了 NCIS,从此再也没有遇到过问题。
我猜是安装了 Norton 的机器给你带来了问题。由于企业版存在这个问题,我们最终不得不在工作中改用 McAfee,而且 Norton 也愿意承认这个问题。
我也建议CCleaner。它有一个内置的卸载工具,效果非常好。
我不知道有任何应用程序能够清理整个存储库,但这些工具应该可以使它更容易。
答案3
您还可以使用注册表(XP 和 Vista)启用安装和卸载的日志记录:
- 转到
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
。如果键“Installer
”不存在,则创建它。 - 添加一个名为“ ”的新字符串值,
Logging
其值如下:voicewarmupx
就这样。下次您安装或卸载某些东西时,%%temp%%
目录中将创建一个日志文件(要访问它,请打开“开始”菜单,单击“运行”,输入“ %%temp%%
”,然后单击“确定” - 日志文件名将以“MSI”开头,以“.log”结尾)。
使用这个,我解决了系统上的一个棘手问题:安装或卸载任何东西都要花 20 多分钟。查看日志,原来单单创建一个还原点就花了 20 分钟……我把它关了,我重启了,我又把它打开了,现在速度非常快!祝你好运。