Windows 安装IIS出现的问题(无法安装IIS,提示“安装程序无法复
2024-09-10 00:05:44
供稿:网友
这就是典型的windows安全数据库出问题了,可以用以下方法来解决这个问题:
Windows安全资料库,在%WinDir%/Security/database里。
台湾的资料库,大陆称为数据库。 在Windows作业系统里带有专门的Esentutl.exe工具,这是一个DOS工具,可用来查看和修复Windows安全资料库。
比如我有一次在安装IIS的元件时,发生了错误:
************************
复制错误 安装程式无法复制档 iisapp.vbs。 请确认下面指定的位置是正确的,或者更改它并在指定的驱动器中插入 'Service Pack 1 CD-ROM'。
当复制来源: C:/Windows/ServicePackFiles/i386 [浏览] [重试] [取消]
************************
这就是由于Windows安全资料库损坏所致。可用Esentutl.exe进行修复。
查看它的用法,用下面指令: esentutl /? 会显示如下提示:
Microsoft(R) Windows(R) Database Utilities Version 5.2 Copyright (C) Microsoft Corporation. All Rights Reserved. DESCRIPTION: Maintenance utilities for Microsoft(R) Windows(R) databases. MODES OF OPERATION: Defragmentation: ESENTUTL /d [options] Recovery: ESENTUTL /r [options] Integrity: ESENTUTL /g [options] Checksum: ESENTUTL /k [options] Repair: ESENTUTL /p [options] File Dump: ESENTUTL /m[mode-modifier] <<<<< Press a key for more help >>>>>
D=Defragmentation, R=Recovery, G=inteGrity, K=checKsum, P=rePair, M=file duMp =>
可见,检查资料库的完整性,要用/g,比如: esentutl /g C:/Windows/security/database/secedit.sdb
若要修复这个Windows安全资料库,用如下指令: esentutl /p C:/Windows/security/database/secedit.
用ESEnTUtl工具修复系统数据库1
Windows具有大量互相关联的数据库。当然,主要的数据库就是注册表,其中包含了系统、用户以及应用程序设置的全部信息。然而,Windows还包含大量你通常没有听说过的其他数据库。这些数据库以系统数据库文件形式保存,后缀为SDB。其中一些记录了应用程序的安装。你会发现通常他们的文件名为Setup.SDB。另一些记录了Service Pack的状态,具有类似这样的文件名:AppHelp.SDB, AppH_SP.SDB, DrvMain.SDB, MSIMain.SDB以及SysMain.SDB。还有其他的数据库来跟踪安全或其他不在注册表中显示的系统设置,如SecEdit.SDB。简而言之,Windows在除注册表以外的地方隐藏了大量的信息。你可以用“可扩展存储引擎技术工具“(Extensible Storage Engine Technology Utility, ESEnTUtl)来访问所有这些其他数据库。
并不是你硬盘上每个SDB文件都是数据库。混乱的是微软也把SDB扩展名用在一些文本文件上。比如,Visual Studio的Setup.SDB就是个文本文件。该文件能够告诉你许多关于应用的信息,但这些信息不是ESEnTUtl能够管理的格式。正确的SDB文件包括二进制数据。
警告:ESEnTUtl工具极端强大。在错误的文件上不正确地应用,会抹去安全信息或者使你的系统无法启动。因此,在你使用它之前确保你完全理解该工具。在修改任何数据库之前记得先做备份。在做之前通过微软知识库(Microsoft Knowledge Base)尽可能多地验证这些修改。