我有一台安装了 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
答案很简单。从两个都 System32
和SysWOW64
。我总是删除文件,System32
但从来没有SysWOW64
。感谢这篇帖子Microsoft 论坛提到了SysWOW64
。
了解 DirectX 安装程序无法更新文件的原因是 Steam 正在使用一个SysWOW64
阻止安装的文件也可能会有所帮助。