为什么IIS安装程序不能复制staxmem.dll,尽pipe它在指定的文件夹中?

我正在运行Microsoft Web平台安装程序,它正在尝试安装IIS5.1。 不幸的是我有以下错误:

安装程序无法复制staxmem.dll文件

确保下面指定的位置是正确的,或者更改它并在您指定的驱动器中插入“Windows XP Proffessional Service Pack 3 CD”。

C:\ WINDOWS \ ServicePackFiles \ i386文件

现在我通过Windows Update下载了服务包,所以我没有光盘。 我通过Google进行了search,并提出了这个支持页面 。 我遵循第一组指令,数据库没有任何问题,所以我继续步骤2.不幸的是,这又需要Service Pack CD。

search硬盘驱动器显示该文件位于指定的目录中。

那么如何让安装继续?

是否因为文件已经存在于目标位置而正在使用? 如果这样就暗示IIS已经安装在机器上。 所以在这种情况下,问题就变成了 – 为什么Web Platform Installer试图安装已经安装的东西?

我也在SuperUser上问了这个问题(部分是为了启动我的帐户),并得到了答案。 这是答案的相关部分:

该支持页面是误导性的。 当它说如果该工具返回消息:

“这个操作可能会发现这个数据库已经损坏”

这意味着输出中是否包含该文本? 不是那个唯一的输出。 输出仍然看起来大部分与第二个样本类似,但输出中的某个位置上方有一行。 即使该工具发现可能的损坏,它仍然会结束“完整性检查成功”的输出。

所以现在全部sorting。 我应该马上尝试,但支持页面似乎清楚了解哪个解决scheme可行。

如果这发生在Win2k3服务器上,我猜是因为ServicePackFiles文件夹已经从C:\ Windows中删除。 我不知道XP是否使用相同的机制,但值得检查。 如果原始安装没有SP3,并且随后安装了SP3,则ServicePackFiles文件夹将包含SP3版本的安装文件(可能包括staxmem.dll)。 如果无法findServicePackFiles文件夹,安装程序将提示input所需的文件,但只能接受SP3版本。

您可以尝试重新安装SP3,然后再次尝试Web平台安装。

JR

这个问题与secedit.sdb的腐败有关。 即%windir%\ security \ database中的secedit.sdb可能已损坏。

parsing度

  1. 制作secedit.sdb文件的备份副本。
  2. 打开命令提示符(单击“开始”,“运行”,然后键入“cmd”,然后按Enter键。
  3. 运行esentutl /p %windir%\security\database\secedit.sdb并按Enter键。 出现“修理”警告时,点击“确定”。 等待修复完成。
  4. 返回到“添加Windows组件”对话框,确保指定的文件夹是您的Windows安装文件夹,然后单击确定。 IIS组件的安装应该正常完成。