Windows 安裝IIS出現的問題(無法安裝IIS,提示“安裝程式無法複製檔案IISApp.vbs”)_win伺服器

來源:互聯網
上載者:User
這就是典型的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)儘可能多地驗證這些修改。

ESEnTUtl工具並不為你提供很多協助資訊。實際上,你很難在所有Windows協助檔案或者很多其他微軟的資源中找到提及該工具的地方。你能找到提到它的一個地方就是微軟知識庫。許多Windows問題需要你用ESEnTUtl工具來修複。你可以通過用“ESEnTUtl site:support.microsoft.com”作為關鍵字在Google搜尋到來自微軟知識庫的一些有關該工具使用的例子。

ESEnTUtl運行有幾種模式。每種模式對SDB檔案執行不同的任務。這裡是每種模式的文法:

磁碟重組模式: ESEnTUtl /d <資料庫檔案名> [選項]

復原模式: ESEnTUtl /r [選項]

完整性檢查模式: ESEnTUtl /g <資料庫檔案名> [選項]

修複模式: ESEnTUtl /p <資料庫檔案名> [選項]

校正模式: ESEnTUtl /k <資料庫檔案名> [選項]

檔案轉儲模式: ESEnTUtl /m[模式修改符] <檔案名稱>

複製模式: ESEnTUtl /y <源檔案> [選項] ***僅用於Vista作業系統***

上述選項根據模式而不同。然而,有些選項在所有模式中通用。這裡是通用選項:

/8 定義資料庫分頁大小為8KB。正常情況下,ESEnTUtl自動檢測分頁大小。只有當微軟知識庫告訴你或者讀取資料庫遇到問題時才使用該選項。

/o 禁用微軟徽標。你可以用該選項來建立報表輸出或者作為另一個資料庫的輸入。

/s <流檔案名稱> 為流資料輸出設定檔案名稱。預設設定是NONE。當你想用流資料技術——而不是簡單的轉儲——來發送資料時使用該選項。該選項適用於磁碟重組、完整性檢查、修複以及檔案轉儲模式。

/t <資料庫檔案名> 設定臨時資料庫檔案名。預設設定是TEMP-DFRG*.EDB。通常,你無需更改資料庫檔案名因為ESEnTUtl已經支援多個臨時資料庫。該選項適用於磁碟重組、完整性檢查以及修複模式。

注意:某些模式針對不同的目的使用同樣的選項開關。因此,不要假定在磁碟重組模式中的/f開關和完整性檢查模式的/f開關執行同樣的任務。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.