DirectX 无法安装

DirectX 无法安装

我有一台安装了 Windows 7 的 PC,这样我就有一台干净的 PC 来玩我心爱的汤姆克兰西游戏。但是,每当我尝试安装 DirectX 9.0c 时,我都会收到错误an internal system error occurred

经检查DXError.log我发现:

--------------------
[09/05/15 18:23:21] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 5738, function: DirectXUpdateInstallPlugIn

    Failed API:     SetupIterateCabinet()
    Error:      (1224) - The requested operation cannot be performed on a file with a user-mapped section open.



    Unable to iterate through C:\dx\Jun2007_XACT_x64.cab. The file may be damaged.

--------------------
[09/05/15 18:23:21] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

    DirectXUpdateInstallPlugIn() failed.

--------------------
[09/05/15 18:23:21] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

    InstallPlugIn() failed.

--------------------
[09/05/15 18:25:46] module: DXSetup(Mar 30 2011), file: dxsetup.cpp, line: 935, function: FindDXSetupWindow

    Failed API:     GetWindowText()
    Error:      (183) - Cannot create a file when that file already exists.



--------------------
[09/05/15 18:28:30] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 5738, function: DirectXUpdateInstallPlugIn

    Failed API:     SetupIterateCabinet()
    Error:      (1224) - The requested operation cannot be performed on a file with a user-mapped section open.



    Unable to iterate through C:\dx\Aug2007_XACT_x64.cab. The file may be damaged.

--------------------
[09/05/15 18:28:30] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

    DirectXUpdateInstallPlugIn() failed.

--------------------
[09/05/15 18:28:30] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

    InstallPlugIn() failed.

--------------------
[09/05/15 18:28:53] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 5738, function: DirectXUpdateInstallPlugIn

    Failed API:     SetupIterateCabinet()
    Error:      (1224) - The requested operation cannot be performed on a file with a user-mapped section open.



    Unable to iterate through C:\dx\Nov2007_X3DAudio_x64.cab. The file may be damaged.

--------------------
[09/05/15 18:28:53] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

    DirectXUpdateInstallPlugIn() failed.

--------------------
[09/05/15 18:28:53] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

    InstallPlugIn() failed.

--------------------
[09/05/15 18:33:38] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 5738, function: DirectXUpdateInstallPlugIn

    Failed API:     SetupIterateCabinet()
    Error:      (1224) - The requested operation cannot be performed on a file with a user-mapped section open.



    Unable to iterate through C:\dx\Aug2008_XAudio_x64.cab. The file may be damaged.

--------------------
[09/05/15 18:33:38] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

    DirectXUpdateInstallPlugIn() failed.

--------------------
[09/05/15 18:33:38] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

    InstallPlugIn() failed.

--------------------
[09/05/15 18:38:13] module: dxupdate(Mar 30 2011), file: dxupdate.cpp, line: 5738, function: DirectXUpdateInstallPlugIn

    Failed API:     SetupIterateCabinet()
    Error:      (1224) - The requested operation cannot be performed on a file with a user-mapped section open.



    Unable to iterate through C:\dx\Feb2010_XACT_x64.cab. The file may be damaged.

--------------------
[09/05/15 18:38:13] module: dsetup32(Mar 30 2011), file: dxupdate.cpp, line: 280, function: CSetup::InstallPlugIn

    DirectXUpdateInstallPlugIn() failed.

--------------------
[09/05/15 18:38:13] module: dsetup32(Mar 30 2011), file: setup.cpp, line: 1727, function: CSetup::SetupForDirectX

    InstallPlugIn() failed.

到目前为止,我已经尝试过:

  • 使用 Web 安装程序安装 DirectX
  • 使用脱机安装程序安装 DirectX
  • 安装全部Windows 更新,然后安装 DirectX
  • 删除与 DirectX 关联的 DLL 并安装 DirectX
  • 重新启动(多次)并安装 DirectX

我真的不想进行全新安装,因为重新安装所有内容需要花费很多精力。我的系统信息是:

Windows 7 Ultimate x86_64, Retail SKU
GenuineIntel Core i7-4720HQ
8GB DDR3 RAM
NVidia 850M GPU

答案1

答案很简单。从两个都 System32SysWOW64。我总是删除文件,System32但从来没有SysWOW64。感谢这篇帖子Microsoft 论坛提到了SysWOW64

了解 DirectX 安装程序无法更新文件的原因是 Steam 正在使用一个SysWOW64阻止安装的文件也可能会有所帮助。

相关内容