Проблеми з установкою DirectX SDK (червень 2010 р.): Код помилки S1023


178

У мене, здається, виникають деякі проблеми з установкою DirectX SDK. Під час встановлення все здається добре, але наприкінці я отримую повідомлення:

Помилка налаштування. Під час встановлення перерозподільних пакетів виникли помилки. Закрийте всі відкриті програми та спробуйте запустити інсталяцію ще раз. Якщо проблеми не зникають, зверніться до служби підтримки розробників DirectX.

Код помилки: S1023

Ну, я спробував закрити всі відкриті програми та встановити знову, але я отримую ту ж помилку. Що таке код помилки S1023? Я спробував Googling , але знайшов багато різних відповідей, як з цим боротися, і я не впевнений, що робити.

Я спробував шукати файли журналу в C:\Windows\Logs. Є 2 журнальні файли DirectX.logта DirectX_SDK.log. Я не бачу жодних помітних ознак "помилки" чи "відмови" будь-якого типу.

Насправді самий останній рядок у DirectX.log - це:

11/04/10 18:36:27: dsetup32: Установка закінчилася значенням 0 = Установка успішна

Може хто-небудь, будь ласка, допоможе? У мене працює Vista (x64).


Я вважаю, що в більшості випадків причиною цієї помилки є те, що ви встановили програму (наприклад, гру), яка підняла версію, що перерозподіляється вище, ніж перерозподільну версію sdk, викликаючи збій установки. Я не впевнений, має значення те, що установка не працює чи ні.
Макс ДеЛісо

Для відповіді недостатньо відповіді, але оскільки це ніде не згадується: переконайтесь, що клацніть правою кнопкою миші та виберіть "запустити як адміністратор" у програмі установки.
Харальд Маассен

2
Здається, ніхто про це не згадував, але ви можете просто проігнорувати повідомлення. SDK встановлений, і env vars встановлений (Win10, червень 2010 SDK)
FrozenKiwi

Відповіді:


271

У мене була така ж проблема, і для мене це було тому, що vc2010 redist x86 був надто недавним.

Перевірте свою папку temp (C: \ Users \\ AppData \ Local \ Temp) на найсвіжіший файл з назвою

Microsoft Visual C ++ 2010 x64 Перерозподільна установка_20110608_xxx.html ##

і перевірте, чи є у вас наступна помилка

Блокатори встановлення:

На апараті виявлено нову версію Microsoft Visual C ++ 2010 перерозподілюваного пристрою.

Остаточний результат: Установка не вдалася з кодом помилки: (0x000013EC), "Зроблено зупинку блоку або система> Вимога не виконана." (Закінчений час: 0 00:00:00).

потім перейдіть до Панелі управління> Програма та функції та видаліть усі

Microsoft Visual C ++ 2010 x86 / x64, що перерозподіляється - 10,0. (Кількість понад 30319)

Після успішного встановлення DXSDK просто запустіть Windows Update, і він оновить перерозподільні версії до останньої версії.


5
Просто думав, що опублікую, і це моя точна проблема, дякую за обмін. ОП дійсно має позначити це як рішення!
Джордж

3
Будь-яка ідея, чому нові перерозподільні елементи стикаються з установкою? Чи можу я встановити їх після встановлення? Або вони завдадуть клопоту?
магнатський

7
Якщо ви налаштуєте інсталяцію, ви можете утриматися від установки перерозподілюваного. Таким чином, ви можете зберегти новіший при встановленні SDK. Крім того, ви можете просто видалити його, як було запропоновано, та встановити його після цього.
Fibericon

3
Чи є якісь ризики для видалення перерозподільної продукції?
Артур Маму-Мані

4
@Fibericon FYI Здається, я не можу скасувати вибір для установки перерозподілюваного DX. Я спробую навпаки. Дякую, що запропонували!
Vaillancourt

83

У мене вже двічі траплялася така ж проблема, і найпростіше і найкоротше рішення, яке я знайшов, знаходиться тут (в MSDN Blogs -> Ігри для Windows і DirectX SDK). Однак, на всякий випадок, коли ця сторінка знизиться, ось такий метод:

  1. Вийміть пакет із перерозподілюваного пакета Visual C ++ 2010 версії 10.0.40219 (пакет оновлень 1) із системи (як x86, так і x64, якщо це можливо). Це легко зробити за допомогою командного рядка з правами адміністратора:

    MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
    MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
    
  2. Встановити DirectX SDK (червень 2010 р.)

  3. Перевстановіть перерозподільний пакет Visual C ++ 2010 версії 10.0.40219 (Service Pack 1). У системі x64 слід встановити як версії C ++ REDIST, так і x86 та x64. Не забудьте встановити найновішу доступну версію , яка на даний момент є KB 2565063 з виправленням безпеки.

Примітка. Ця проблема не стосується більш ранньої версії SDD DirectX, яка розгортає VS 2005 / VS 2008 CRT REDIST і не розгортає VS 2010 CRT REDIST. Ця проблема не стосується веб-режиму виконання програми DirectX для кінцевого користувача або окремого інсталятора, оскільки ці пакети не розгортають жодної версії CRT VC ++.

Перевірка цілісності контрольної суми файлу : звичайно, це передбачає, що у вас фактично є непошкоджена копія пакета налаштування DirectX SDK. Найкращий спосіб перевірити це для запуску

fciv -sha1 DXSDK_Jun10.exe

і підтвердити, що ви отримали

8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe

Я вже маю посилання на статтю у своїй відповіді, @midspace
gregoltsov

Дякую, Григорій. Мій веб-переглядач (IE), мабуть, в той день приносив мені горе, тому що я не пам’ятаю, щоб у вашій публікації взагалі не було посилань (без кольорового тексту). Сьогодні використовую Safari, і я бачу всіх їх. : /
середній простір

2
Мені просто допомагає робити номер 1. Ваша відповідь, що не брати
оуї

22

Ось офіційна відповідь від Microsoft: http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023- помилка.aspx

Підсумок, якщо ви бажаєте не натискати:

  1. Вийміть пакет із перерозподілюваного пакета Visual C ++ 2010 версії 10.0.40219 (пакет оновлень 1) із системи (як x86, так і x64, якщо це можливо). Це легко зробити за допомогою командного рядка з правами адміністратора:

    MsiExec.exe / pasive / X {F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}

    MsiExec.exe / pasive / X {1D8E6291-B0D5-35EC-8441-6616F567A0F7}

  2. Встановити DirectX SDK (червень 2010 р.)

  3. Перевстановіть перерозподільний пакет Visual C ++ 2010 версії 10.0.40219 (Service Pack 1). У системі x64 слід встановити як версії C ++ REDIST, так і x86 та x64. Не забудьте встановити найновішу доступну версію, яка на даний момент є KB2565063 з виправленням безпеки.

Windows SDK: Windows SDK 7.1 має точно таку ж проблему, що і в KB 2717426 .


Це, безумовно, було найпростішим рішенням. Мені подобається, як ти додав команди Msiexec, врятував мені багато клопоту. Закінчилося видалення оновлених версій, і установка пройшла чудово. Я подумаю про повторне додавання їх, як тільки знайду потрібну програму.
Алекс Саммерс

2

Знайдіть Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx на панелі керування програм додавання та видалення, якщо xxxxx> 30319 відновити його

Я просто хотів сказати, що це (я також випорожнив свою папку temp, в Комп'ютері-> C: -> Властивості-> Очищення диска) змусив DirectX червня 2010 року встановити SDK без відмов, у мене є Vista32bit для всього, що має значення. Дякую, містер Лін! :)


1

Після видалення занадто багато на моїй машині Win7-64bit я застряг і тут. Я не хотів перевстановлювати ОС, і жоден із виправданих хитрощів не очікував для цього злому реєстру нижче. Більшу частину цього трюку я знайшов у старому порту pchelpforum, але мені довелося адаптувати його до моєї 64-бітної установки:

(Для 32-бітного ремонту, ймовірно, пропустіть шлях Wow6432Node)

  1. Почніть regedit
  2. Перейдіть до HKEY_LOCAL_MACHINE-> SOFTWARE-> Wow6432Node-> Microsoft-> ​​DirectX
  3. Якщо цієї папки DirectX не існує, створіть її.
  4. Якщо вже тут, переконайтеся, що він порожній.
  5. Тепер клацніть правою кнопкою миші в порожньому вікні праворуч і додайте ці дані (можливо, тут буде принаймні значення рядка за замовчуванням, просто залиште його):

    New->Binary Value
    Name: InstalledVersion
    Type: REG_BINARY
    Data: 00 00 00 09 00 00 00 00
    
    New->DWORD (32-bit) Value
    Name: InstallMDX
    Type: REG_DWORD
    Data: 0x00000001
    
    New->String Value
    Name: SDKVersion
    Type: REG_SZ
    Data: 9.26.1590.0
    
    New->String Value
    Name: Version
    Type: REG_SZ
    Data: 4.09.00.0904
    
  6. Перевстановіть, використовуючи останню програму установки DXSDK. Опція для виконання може також працювати, але я її не перевіряв.

  7. Прибуток!

Рішення на веб-сайті Microsoft: answer.microsoft.com/en-us/windows/forum/…
Der_Meister

1

Знайдіть Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx на панелі керування програм додавання та видалення, якщо xxxxx> 30319 відновити його


0

Я також стикався з цим питанням. І я працюю в XP SP3.

Наступний веб-сайт http://www.docin.com/p-60410380.html# вказує на рішення. Але це спрощена китайська.

Тут я переклав її основну ідею англійською мовою.

запустити regedit; відкрити HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DirectX Тоді вам потрібно змінити наступні два пункти: Пункт 1: Ім'я: Версія, Тип: REG_SZ, Для успіху встановлення значення повинно бути досить невеликим.

Пункт 2: Назва: SDKVersion. Але у вашій машині назва може бути різною, наприклад, вона може бути ManagedDirectXVersion. Але тип повинен бути REG_SZ. Тип: REG_SZ, для успіху встановлення значення повинно бути досить невеликим.

Насправді ви можете звернутися до файлу DirectX.lgo, щоб знайти точний номер версії.

Це працює для мене.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.