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 ทำให้การติดตั้งล้มเหลว ฉันไม่แน่ใจว่าการติดตั้งนั้นล้มเหลวหรือไม่
Max DeLiso

ตัวแทนไม่เพียงพอที่จะตอบ แต่เนื่องจากไม่มีการกล่าวถึงที่นี่: ตรวจสอบให้แน่ใจว่าได้คลิกขวาแล้วเลือก "run as administrator" บนตัวติดตั้ง
Harald Maassen

2
ดูเหมือนจะไม่มีใครพูดถึงสิ่งนี้ แต่คุณสามารถเพิกเฉยต่อข้อความนั้นได้ ติดตั้ง SDK แล้วและตั้งค่า env vars (Win10, มิถุนายน 2010 SDK)
FrozenKiwi

คำตอบ:


271

ฉันมีปัญหาเดียวกันและสำหรับฉันมันเป็นเพราะ vc2010 redist x86 เป็นรุ่นล่าสุด

ตรวจสอบโฟลเดอร์ temp ของคุณ (C: \ Users \\ AppData \ Local \ Temp) เพื่อดูชื่อไฟล์ล่าสุด

Microsoft Visual c ++ 2010 x64 Redistributable Setup_20110608_xxx.html ##

และตรวจสอบว่าคุณมีข้อผิดพลาดดังต่อไปนี้

บล็อคการติดตั้ง:

ตรวจพบการเผยแพร่ต่อ Microsoft Visual C ++ 2010 รุ่นที่ใหม่กว่าบนเครื่อง

ผลลัพธ์สุดท้าย: การติดตั้งล้มเหลวด้วยรหัสข้อผิดพลาด: (0x000013EC), "A StopBlock ถูกโจมตีหรือไม่พบระบบ> ความต้องการ" (เวลาที่ผ่านไป: 0 00:00:00)

จากนั้นไปที่แผงควบคุม> โปรแกรมและคุณสมบัติแล้วถอนการติดตั้งทั้งหมด

Microsoft Visual C ++ 2010 สามารถแจกจ่ายต่อได้ x86 / x64 - 10.0 (จำนวนมากกว่า 30319)

หลังจากประสบความสำเร็จในการติดตั้ง DXSDK เพียงแค่เรียกใช้ Windows Update และมันจะอัปเดตการแจกจ่ายซ้ำกลับไปเป็นเวอร์ชั่นล่าสุด


5
แค่คิดว่าฉันจะโพสต์และนี่คือปัญหาที่แน่นอนของฉันขอบคุณสำหรับการแบ่งปัน OP ควรระบุว่านี่เป็นทางออก!
George

3
ความคิดใดที่ว่าทำไม redistributables ที่ใหม่กว่าชนกับการติดตั้ง ฉันสามารถติดตั้งใหม่อีกครั้งหลังจากการตั้งค่าได้หรือไม่ หรือพวกเขาจะทำให้เกิดปัญหา?
magnattic

7
หากคุณกำหนดการติดตั้งเองคุณสามารถงดการติดตั้ง redistributable ได้ ดังนั้นคุณสามารถเก็บใหม่กว่าเมื่อติดตั้ง SDK หรือคุณสามารถถอนการติดตั้งได้ตามที่แนะนำและติดตั้งใหม่หลังจากนั้น
Fibericon

3
มีความเสี่ยงใด ๆ ในการลบ redistribuables หรือไม่
Arthur Mamou-Mani

4
@Fibericon FYI ฉันดูเหมือนจะไม่สามารถยกเลิกการเลือกตัวเลือกในการติดตั้ง DX ที่สามารถแจกจ่ายต่อได้ ฉันจะลองวิธีอื่น ๆ ขอบคุณที่แนะนำ!
Vaillancourt

83

ฉันมีปัญหาเดียวกันสองครั้งแล้วและวิธีแก้ปัญหาที่กระชับและง่ายที่สุดที่ฉันพบอยู่ที่นี่ (ในบล็อก MSDN -> เกมสำหรับ Windows และ DirectX SDK) อย่างไรก็ตามในกรณีที่หน้าเอกสารล้มเหลวนี่คือวิธีการ:

  1. ลบ Visual C ++ 2010 Redistributable Package รุ่น 10.0.40219 (Service Pack 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. ติดตั้งแพคเกจ 2010 เผยแพร่ใหม่ Visual c ++ รุ่น 10.0.40219 (Service Pack 1) บนระบบ x64 คุณควรติดตั้ง C ++ REDIST ทั้งรุ่น x86 และ x64 ตรวจสอบให้แน่ใจว่าได้ติดตั้งเวอร์ชันล่าสุดที่มีอยู่ซึ่ง ณ จุดนี้คือ KB 2565063 พร้อมการแก้ไขด้านความปลอดภัย

หมายเหตุ:ปัญหานี้ไม่ส่งผลกระทบต่อ DirectX SDK รุ่นก่อนหน้าซึ่งปรับใช้ VS 2005 / VS 2008 CRT REDIST และไม่ปรับใช้ VS 2010 CRT REDIST ปัญหานี้ไม่ส่งผลกระทบต่อ DirectX End-User Runtime web หรือตัวติดตั้งแบบสแตนด์อโลนเนื่องจากแพ็คเกจเหล่านั้นไม่ได้ปรับใช้ VC ++ CRT รุ่นใด ๆ

File Checksum Integrity Verifier : แน่นอนว่าคุณมีสำเนาของชุดการติดตั้ง DirectX SDK อย่างไม่ถูกต้อง วิธีที่ดีที่สุดในการตรวจสอบความถูกต้องนี้เพื่อให้ทำงานได้

fciv -sha1 DXSDK_Jun10.exe

และยืนยันว่าคุณได้รับ

8fe98c00fde0f524760bb9021f438bd7d9304a69 dxsdk_jun10.exe

ฉันมีลิงก์ไปยังบทความในคำตอบของฉันแล้ว @midspace
gregoltsov

ขอบคุณเกรกอรี่ เบราว์เซอร์ของฉัน (IE) ต้องทำให้ฉันเสียใจในวันนั้นเพราะฉันจำไม่ได้ว่าเห็นลิงก์ (ไม่มีข้อความสี) ในโพสต์ของคุณเลย ใช้ Safari วันนี้และฉันเห็นทุกคน : /
midspace

2
เพียงทำหมายเลข 1 ช่วยฉัน .. คำตอบของคุณคือไม่เอา oui oui
Jimmyt1988

22

นี่คือคำตอบอย่างเป็นทางการจาก Microsoft: http://blogs.msdn.com/b/chuckw/archive/2011/12/09/known-issue-directx-sdk-june-2010-setup-and-the-s1023- error.aspx

สรุปหากคุณไม่ต้องการคลิกผ่าน:

  1. ลบ Visual C ++ 2010 Redistributable Package รุ่น 10.0.40219 (Service Pack 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. ติดตั้งแพคเกจ 2010 เผยแพร่ใหม่ Visual c ++ รุ่น 10.0.40219 (Service Pack 1) บนระบบ x64 คุณควรติดตั้ง C ++ REDIST ทั้งรุ่น x86 และ x64 ตรวจสอบให้แน่ใจว่าได้ติดตั้งเวอร์ชันล่าสุดที่มีอยู่ซึ่ง ณ จุดนี้คือ KB2565063 พร้อมการแก้ไขด้านความปลอดภัย

SDK ของ Windows: ของ Windows SDK 7.1 มีตรงปัญหาเดียวกันตามที่ระบุไว้ในKB 2717426


นี่คือทางออกที่ง่ายที่สุด ฉันชอบวิธีที่คุณเพิ่มคำสั่ง Msiexec ช่วยให้ฉันประหยัดยุ่งยากมากมาย จบลงด้วยการลบเวอร์ชันที่อัปเดตแล้วและการติดตั้งก็ดีมาก ฉันจะคิดถึงการเพิ่มอีกครั้งเมื่อฉันค้นหาแอพที่ต้องการ
Alex Summers

2

ค้นหา Microsoft Visual C ++ 2010 x86 / x64 Redistributable - 10.0.xxxxx ในแผงควบคุมของโปรแกรมเพิ่มหรือลบถ้า xxxxx> 30319 เปลี่ยนมัน

ฉันแค่อยากจะบอกว่าสิ่งนี้ (ฉันได้ลบโฟลเดอร์ temp ของฉันในคอมพิวเตอร์ -> C: -> Properties-> การล้างข้อมูลบนดิสก์) ทำให้การติดตั้ง SDK DirectX มิถุนายน 2010 โดยไม่ล้มเหลวฉันมี Vista32bit สำหรับทุกเรื่อง ขอบคุณ Mr.Lyn! :)


1

หลังจากถอนการติดตั้งมากเกินไปบนเครื่อง Win7-64 บิตฉันก็ติดอยู่ที่นี่เช่นกัน ฉันไม่ต้องการที่จะติดตั้งระบบปฏิบัติการอีกต่อไปและไม่มีเทคนิคใดที่ใช้งานได้สำหรับการแฮ็กรีจิสทรีนี้ด้านล่าง เคล็ดลับนี้ส่วนใหญ่ฉันพบในพอร์ต 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. กำไร!

วิธีการแก้ปัญหาในเว็บไซต์ของไมโครซอฟท์: answers.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 เพื่อค้นหาหมายเลขรุ่นที่แน่นอน

มันใช้งานได้สำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.