DirectX SDK (czerwiec 2010) Problemy z instalacją: Kod błędu S1023

178

Wygląda na to, że mam problemy z instalacją zestawu DirectX SDK. Wydaje się, że wszystko idzie dobrze podczas instalacji, ale na końcu pojawia się komunikat:

Instalacja nie powiodła się. Napotkano błędy podczas instalacji pakietów redystrybucyjnych. Zamknij wszystkie otwarte programy i spróbuj ponownie uruchomić Instalatora. Jeśli problemy będą się utrzymywać, skontaktuj się z pomocą programistyczną DirectX.

Kod błędu: S1023

Próbowałem zamknąć wszystkie otwarte programy i zainstalować ponownie, ale pojawia się ten sam błąd. Co to jest kod błędu S1023? Próbowałem Googling , ale znalazłem wiele różnych odpowiedzi, jak sobie z tym poradzić i nie jestem pewien, co robić.

Próbowałem przejrzeć pliki dziennika w C:\Windows\Logs. Istnieją 2 pliki dziennika DirectX.logi DirectX_SDK.log. Nie widzę żadnych zauważalnych oznak „błędu” lub „awarii” jakiegokolwiek rodzaju.

W rzeczywistości ostatnia linia w DirectX.log to:

11/04/10 18:36:27: dsetup32: Instalacja zakończyła się wartością 0 = Instalacja powiodła się

Czy ktoś mógłby pomóc? Korzystam z systemu Vista (x64).

James
źródło
wierzę, że w większości przypadków przyczyną tego błędu jest to, że zainstalowałeś program (na przykład grę), który podniósł wersję redystrybucyjną wyżej niż wersja redystrybucyjna sdk, powodując niepowodzenie instalacji. nie jestem pewien, czy to ważne, czy instalacja się nie powiedzie, czy nie.
Max DeLiso,
Za mało powtórzeń, aby odpowiedzieć, ale ponieważ nigdzie tu nie wspomniano: należy kliknąć prawym przyciskiem myszy i wybrać opcję „uruchom jako administrator” w instalatorze.
Harald Maassen
2
Wydaje się, że nikt o tym nie wspominał, ale możesz po prostu zignorować wiadomość. SDK jest zainstalowany i ustawiony env vars (Win10, czerwiec 2010 SDK)
FrozenKiwi

Odpowiedzi:

271

Miałem ten sam problem i dla mnie było to spowodowane tym, że redistyczna wersja vc2010 x86 była zbyt nowa.

Sprawdź folder tymczasowy (C: \ Users \\ AppData \ Local \ Temp), aby znaleźć najnowszy plik o nazwie

Pakiet redystrybucyjny Microsoft Visual C ++ 2010 x64 Setup_20110608_xxx.html ##

i sprawdź, czy masz następujący błąd

Blokery instalacji:

Na komputerze została wykryta nowsza wersja pakietu redystrybucyjnego Microsoft Visual C ++ 2010.

Wynik końcowy: instalacja nie powiodła się z kodem błędu: (0x000013EC), „Uderzono StopBlock lub System> Wymagania nie zostały spełnione”. (Upłynął czas: 0 00:00:00).

następnie przejdź do Panelu sterowania> Program i funkcje i odinstaluj wszystkie

Pakiet redystrybucyjny Microsoft Visual C ++ 2010 x86 / x64 - 10.0. (Liczba ponad 30319)

Po pomyślnej instalacji DXSDK, po prostu uruchom Windows Update, a zaktualizuje składniki redystrybucyjne z powrotem do najnowszej wersji.

Ugo Robain
źródło
5
Pomyślałem, że napiszę i to był mój dokładny problem, dziękuję za udostępnienie. OP naprawdę powinien to oznaczyć jako rozwiązanie!
George
3
Masz pojęcie, dlaczego nowsze elementy redystrybucyjne kolidują z instalacją? Czy mogę je ponownie zainstalować po instalacji? A może spowodują kłopoty?
magnatowy
7
Jeśli dostosujesz instalację, możesz powstrzymać się od instalowania pakietu redystrybucyjnego. W ten sposób możesz zachować nowszy podczas instalowania zestawu SDK. Możesz też odinstalować go zgodnie z sugestią i zainstalować ponownie po.
Fibericon
3
Czy istnieje ryzyko związane z usunięciem składników redystrybucyjnych?
Arthur Mamou-Mani,
4
@ Fibericon FYI Wygląda na to, że nie mogę odznaczyć opcji instalacji redystrybucyjnego formatu DX. Spróbuję odwrotnie. Dziękuję za sugestie!
Vaillancourt,
83

Miałem ten sam problem już dwa razy i najprostszy i najbardziej zwięzły rozwiązanie, które znalazłem znajduje się tutaj (w MSDN Blogs -> Gry dla Windows i DirectX SDK). Jednak na wypadek, gdyby strona się przewróciła, oto metoda:

  1. Usuń pakiet redystrybucyjny Visual C ++ 2010 w wersji 10.0.40219 (Service Pack 1) z systemu (zarówno x86, jak i x64, jeśli dotyczy). Można to łatwo zrobić za pomocą wiersza polecenia z uprawnieniami administratora:

    MsiExec.exe /passive /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}
    MsiExec.exe /passive /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7}
    
  2. Zainstaluj pakiet DirectX SDK (czerwiec 2010 r.)

  3. Ponownie zainstaluj pakiet redystrybucyjny Visual C ++ 2010 w wersji 10.0.40219 (Service Pack 1). W systemie x64 należy zainstalować zarówno C86 REDIST w wersji x86, jak i x64. Zainstaluj najnowszą dostępną wersję , którą w tym momencie jest KB 2565063 z poprawką bezpieczeństwa.

Uwaga: ten problem nie dotyczy wcześniejszej wersji zestawu DirectX SDK, który wdraża REDIST CRT VS 2005 / VS 2008 i nie wdraża REDIST CRT VS 2010. Ten problem nie wpływa na środowisko wykonawcze DirectX dla użytkowników końcowych ani na instalator autonomiczny, ponieważ pakiety te nie wdrażają żadnej wersji CRT VC ++.

Weryfikator integralności sumy kontrolnej pliku : to oczywiście zakłada, że ​​faktycznie masz nieuszkodzoną kopię pakietu instalacyjnego pakietu DirectX SDK. Najlepszym sposobem, aby to sprawdzić, aby go uruchomić

fciv -sha1 DXSDK_Jun10.exe

i sprawdź, czy otrzymałeś

8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe
Gregoltsov
źródło
Mam już link do artykułu w mojej odpowiedzi, @midspace
gregoltsov
Dzięki, Gregory. Moja przeglądarka (IE) musiała mi tego dnia żałować, ponieważ w ogóle nie pamiętam żadnych linków (bez kolorowego tekstu) w twoim poście. Korzystam z Safari dzisiaj i widzę je wszystkie. : /
midspace
2
Po prostu zrobienie numeru 1 pomaga mi .. Twoja odpowiedź, to znaczy nie brać oui oui
Jimmyt1988,
22

Oto oficjalna odpowiedź firmy Microsoft: http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023- error.aspx

Podsumowanie, jeśli wolisz nie klikać:

  1. Usuń pakiet redystrybucyjny Visual C ++ 2010 w wersji 10.0.40219 (Service Pack 1) z systemu (zarówno x86, jak i x64, jeśli dotyczy). Można to łatwo zrobić za pomocą wiersza polecenia z uprawnieniami administratora:

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

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

  2. Zainstaluj pakiet DirectX SDK (czerwiec 2010 r.)

  3. Ponownie zainstaluj pakiet redystrybucyjny Visual C ++ 2010 w wersji 10.0.40219 (Service Pack 1). W systemie x64 należy zainstalować zarówno C86 REDIST w wersji x86, jak i x64. Zainstaluj najnowszą dostępną wersję, którą w tym momencie jest KB2565063 z poprawką bezpieczeństwa.

Zestaw Windows SDK: Zestaw Windows SDK 7.1 ma dokładnie ten sam problem, co opisany w KB 2717426 .

Carl
źródło
To zdecydowanie najłatwiejsze rozwiązanie. Uwielbiam to, jak dodałeś polecenia Msiexec, zaoszczędziłeś mi wielu kłopotów. Skończyło się usuwanie zaktualizowanych wersji, a instalacja przebiegła świetnie. Pomyślę o ponownym dodaniu ich, gdy tylko znajdę aplikację, która ich wymagała.
Alex Summers
2

Znajdź pakiet redystrybucyjny programu Microsoft Visual C ++ 2010 x86 / x64 - 10.0.xxxxx w panelu sterowania dodawania lub usuwania programów, jeśli xxxxx> 30319 go przenieś

Chciałem tylko powiedzieć, że to (opróżniłem również folder temp, w Computer-> C: -> Properties-> Disk Cleanup) sprawiło, że DirectX June 2010 SDK zainstalował się bez awarii, mam Vista32bit na wszystko, co ważne. Dziękuję Mr.Lyn! :)

Początkujący programista
źródło
1

Po zbyt dużej deinstalacji na moim komputerze Win7-64bit również utknąłem tutaj. Nie chciałem ponownie instalować systemu operacyjnego i żadna ze sztuczek nie zadziałała w przypadku hackowania rejestru poniżej. Większość tej sztuczki znalazłem w starym porcie pchelpforum, ale musiałem dostosować ją do mojej 64-bitowej instalacji:

(W przypadku naprawy 32-bitowej prawdopodobnie pomiń ścieżkę Wow6432Node)

  1. Rozpocznij regedit
  2. Idź do HKEY_LOCAL_MACHINE-> SOFTWARE-> Wow6432Node-> Microsoft-> ​​DirectX
  3. Jeśli ten folder DirectX nie istnieje, utwórz go.
  4. Jeśli już tu jesteś, upewnij się, że jest pusty.
  5. Teraz kliknij prawym przyciskiem myszy puste okno po prawej stronie i dodaj te dane (prawdopodobnie będzie tutaj znajdować się domyślna wartość ciągu, po prostu ją zostaw):

    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. Zainstaluj ponownie, używając najnowszego instalatora DXSDK. Opcja tylko środowiska wykonawczego może również działać, ale jej nie przetestowałem.

  7. Zysk!
MattiasF
źródło
Rozwiązaniem na stronie Microsoft: answers.microsoft.com/en-us/windows/forum/...
Der_Meister
1

Znajdź pakiet redystrybucyjny programu Microsoft Visual C ++ 2010 x86 / x64 - 10.0.xxxxx w panelu sterowania dodawania lub usuwania programów, jeśli xxxxx> 30319 go przenieś

Mr.Lyn
źródło
0

Też mam problem. I korzystam z XP SP3.

Następująca strona internetowa http://www.docin.com/p-60410380.html# wskazująca rozwiązanie. Ale to uproszczony chiński.

Przetłumaczyłem tutaj jego główny pomysł na angielski.

uruchom regedit; otwórz HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DirectX Następnie musisz zmienić następujące dwa elementy: Pozycja 1: Nazwa: Wersja, Typ: REG_SZ, Wartość powinna być niewielką liczbą, aby instalacja zakończyła się powodzeniem.

Pozycja 2: Nazwa: SDKVersion. Ale na twoim komputerze nazwa może być inna, na przykład może to być ManagedDirectXVersion. Ale typ powinien być REG_SZ. Wpisz: REG_SZ, Wartość powinna być raczej małą liczbą, aby instalacja zakończyła się powodzeniem.

W rzeczywistości można znaleźć plik DirectX.lgo, aby znaleźć dokładny numer wersji.

Mi to pasuje.

Yuncy
źródło