為什麼 IIS 安裝程式無法複製 staxmem.dll,儘管它位於指定的資料夾中?

為什麼 IIS 安裝程式無法複製 staxmem.dll,儘管它位於指定的資料夾中?

我正在運行 Microsoft Web Platform Installer,它正在嘗試安裝 IIS5.1。不幸的是我遇到了以下錯誤:

安裝程式無法複製檔案 staxmem.dll

確保下方指定的位置正確,或變更它並將「Windows XP Proffessional Service Pack 3 CD」插入您指定的磁碟機中。

c:\windows\ServicePackFiles\i386

現在我透過 Windows Update 下載了服務包,所以我沒有 CD。我透過谷歌搜尋並想出了這個支援頁面。我按照第一組說明進行操作,資料庫沒有任何問題,因此我繼續執行步驟 2。

對硬碟的搜尋顯示該檔案位於指定的目錄中。

那麼如何讓安裝繼續進行呢?

是否因為該文件已存在於目標位置並且正在使用?如果是這樣,則表示電腦上已安裝 IIS。因此,在這種情況下,問題就變成了 - 為什麼 Web 平台安裝程式要嘗試安裝已經安裝的東西?

答案1

我也在上面問過這個問題超級用戶(部分是為了啟動我在那裡的帳戶)並得到答案。這是答案的相關部分:

該支持頁面具有誤導性。當它說該工具是否回傳訊息時:

“此操作可能會發現該資料庫已損壞”

這意味著輸出是否在某處包含該文字?這不是唯一的輸出。輸出看起來仍然與第二個範例基本相似,但上面的行位於輸出中的某處。即使該工具發現可能的損壞,它仍然會結束輸出並顯示「完整性檢查成功」。

所以現在一切都安排好了。我應該立即嘗試,但支援頁面似乎很清楚哪種解決方案可行。

答案2

如果這種情況發生在 Win2k3 伺服器上,我猜測是因為 ServicePackFiles 資料夾已從 C:\Windows 中刪除。我不知道 XP 是否使用相同的機制,但值得檢查。如果原始安裝沒有 SP3,並且隨後安裝了 SP3,則 ServicePackFiles 資料夾將保存 SP3 版本的安裝檔案(可能包括 staxmem.dll)。如果找不到 ServicePackFiles 資料夾,安裝程式會提示輸入所需的文件,但它只接受 SP3 版本。

您可以嘗試重新安裝 SP3,然後再次嘗試安裝 Web 平台。

JR

答案3

此問題與 secedit.sdb 的損壞有關。即 %windir%\security\database 中的 secedit.sdb- 可能已損壞。

解決

  1. 製作 secedit.sdb 檔案的備份副本。
  2. 開啟命令提示字元(按一下“開始”、“執行”,然後鍵入“cmd”。按 Enter 鍵。)
  3. 運行esentutl /p %windir%\security\database\secedit.sdb 並按 Enter 鍵。當出現“修復”警告時,按一下“確定”。等待修復完成。
  4. 返回「新增 Windows 元件」對話框,確保指定的資料夾是您的 Windows 安裝資料夾,然後按一下「確定」。 IIS 組件的安裝應正常完成。

相關內容