Steam Support
DirectX installeras med varje spel
Varför installeras DirectX med varje spel?

Varför installeras DirectX med varje spel?

Microsoft har ett hjälpbibliotek med D3D som kallas D3DX. Du kan hitta binärfiler för detta, som d3dx9_43.dll, i din Windows\system32-mapp. Det finns över 40 olika versioner av D3DX-biblioteket enbart för D3D9, och många fler för D3D10 och 11 likaså. Varje spel som använder D3DX-biblioteket är länkat till en specifik version. Spelet måste köra den korrekta D3D-installationsversionen som den kompilerades med för att se till att binärfilerna finns.

Även om en senare version av binärfilen redan är installerad så kan den versionen inte användas, och även om din DirectX-installation är uppdaterad eftersom du har kört en senare version av installationsprogrammet så är det ingen garanti att alla tidigare versioner har installerats. Om en version är installerad för x86 så garanterar det inte att samma version är installerad för x64, så spel i 64- och 32-bit kan behöva köra exakt samma installationsversion, men riktar sig mot olika plattformar när de körs.

Microsofts licensvillkor förhindrar att filerna kan distribueras direkt. Det enda sättet att distribuera filerna är genom att köra installationsprogrammet, vilket även är den enda metoden som stöds av Microsoft att kontrollera att korrekt version är installerad. Att manuellt kontrollera att korrekt versioner är installerade är komplicerat, eftersom det finns många filer som alla måste finnas och individuella systemkonfigurationsalternativ som dll-sökvägar försvårar situationen. Dessutom kan beroenden och obligatoriska kontroller ändras i varje ny version av D3DX. Koden för att kontrollera och reparera trasiga installationer finns i installationsprogrammet och att köra installationsprogrammet garanterar att korrekt binärfiler finns när du kör spelet. Detta förhindrar fall där ett spel misslyckas med att starta med ett obskyrt fel för att Windows-installationen antingen saknar rätt version eller är skadad.


Varför körs inte DirectX-installationsprogrammet av Valves Source Engine-spel?

Spel som inte använder D3DX-hjälpbiblioteken (som Source Engine-spel) kräver inte att installationsprogrammet körs vid första starten då de endast förlitar sig på att de större d3d9/10/11-versionerna installeras. Dock måste spel som använder D3DX köras då det är det enda sättet som Microsoft har tillåtit att filerna distribueras och versionkontrolleras.


Behöver du hjälp med Steam?
Använd Steams hjälpguide för att avgränsa ämnet och få den hjälp du behöver.
Hjälp från gemenskapen
Gör ett inlägg själv eller sök bland Steam-diskussionerna för att få svar på din fråga.