DirectX не будет установлен

У меня есть компьютер, на котором у меня установлена ​​чистая Windows 7, чтобы у меня был хороший чистый компьютер, на котором можно было бы играть в мои любимые игры Tom Clancy. Однако всякий раз, когда я пытаюсь установить 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.

На данный момент я попытался:

  • Установка DirectX с помощью веб-установщика
  • Установка DirectX с помощью автономного установщика
  • Установка всех обновлений Windows, затем установка DirectX
  • Удаление библиотек DLL, связанных с DirectX, и установка DirectX
  • Перезагрузка (несколько раз) и установка DirectX

Я действительно не хочу делать чистую установку, так как для переустановки требуется много усилий. Моя система:

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

1 ответ

Решение

Ответ на это был довольно прост. Удалите испорченные файлы DirectX из обоих System32 а также SysWOW64, Я всегда удаляю файлы из System32 но никогда SysWOW64, Благодаря этому сообщению на форумах Microsoft, которые упоминали SysWOW64,

Также может быть полезно знать, что причина, по которой установщик DirectX не смог обновить файлы, заключался в том, что Steam использовал один файл в SysWOW64 что мешало установке.

Другие вопросы по тегам