Suporte Steam
O DirectX é instalado com todos os jogos
Por que o DirectX é instalado com todos os jogos?

Por que o DirectX é instalado com todos os jogos?

A Microsoft possui uma biblioteca auxiliar ao D3D chamada D3DX. Você encontrará binários, como d3dx9_43.dll, na sua pasta Windows\system32. Há mais de 40 versões diferentes da biblioteca D3DX apenas para D3D9 e muito mais se levarmos em conta D3D10 e 11. Todo jogo que usa a biblioteca auxiliar D3D está vinculada a uma versão específica. Assim, o jogo precisa rodar o instalador da versão correta do D3D usada para a sua compilação para assegurar a existência dos binários.

Mesmo caso uma versão posterior do binário esteja instalada, esta não pode ser usada, e mesmo caso caso a sua instalação do DirectX esteja atualizada porque rodou uma versão mais recente do instalador não há garantias de que todas as versões anteriores estão instaladas. Pior ainda, mesmo caso tenha instalado uma versão para x86, não há como ter certeza de que a mesma versão está instalada para x64, então jogos de 64 bits e de 32 bits podem precisar rodar a mesma versão do instalador, mas para plataformas diferentes.

Além do mais, os termos de licenciamento da Microsoft impedem a distribuição direta dos arquivos, ou seja, a única forma de distribuí-los é pelo instalador, que também é a única forma permitida pela Microsoft para verificar se a versão correta está instalada. Tentar verificar se as versões corretas estão instaladas manualmente é extremamente complicado já que há inúmeros arquivos que precisam estar presentes e opções de configuração de sistema individuais como caminhos de DLLs complicam a situação. Além disso, as dependências e verificações necessárias podem mudar a cada nova versão do runtime D3DX. O código para verificar e reparar instalações não funcionais faz parte do instalador e rodá-lo é a garantia de que os binários corretos existirão quando rodar o jogo, evitando vários casos em que um jogo falha em iniciar com um erro obscuro caso uma instalação não possua a versão correta ou foi corrompida de alguma forma no passado.


Por que os jogos da Valve que usam a engine Source não rodam o instalador do DirectX?

Jogos que não usam os auxiliares do D3DX (como jogos que usam a engine Source) não precisam rodar o instalador na primeira inicialização, já que dependem apenas da instalação de versões principais do D3D9/10/11. Porém, jogos que usam D3DX precisam rodá-lo já que é a única forma permitida pela Microsoft para distribuição e verificação de informações de versão nos arquivos.


Precisa de ajuda com o Steam?
Use o assistente de ajuda do Steam para achar a melhor solução.
Ajuda da comunidade
Faça a sua pergunta ou busque uma resposta nas Discussões Steam.