2016 年的老版本文档: https://web.archive.org/web/*/https://support.microsoft.com/zh-cn/kb/179113
老版本文档里明确提到过老游戏在新系统上会缺失 DirectX9 的问题:
某些应用程序和游戏需要 DirectX 9。但是,您的计算机包含较新的 DirectX 版本。如果您安装并运行应用程序或游戏中需要 DirectX 9,您可能会收到错误消息,如"d3dx9_35.dll 因缺少从您的计算机无法启动该程序。请重新安装程序以修复此问题。"
并且给出了解决方法——安装 DirectX End-User Runtime:
要解决此问题,请访问以下 Microsoft 网站以安装 DirectX 最终用户运行时 ︰
DirectX 最终用户运行时 Web 安装程序( LZ 注:就是一个用来下载 DirectX 运行库的下载器)
注意:当您运行此包时,是您的 DirectX,Direct3D 9,Direct3D 10.x,Direct3D 11.x、DirectInput、DirectSound、DirectPlay、DirectShow 或 DirectMusic 版本不进行任何更改。
甚至还给出了可能出现在报错消息里的缺失文件列表:
DirectX 最终用户运行时程序包修复的文件失败的列表如果您遇到的问题,因为缺少任何以下文件的应用程序失败,您可能能够通过运行 DirectX 运行时软件包来解决故障 ︰
通过 D3DX9_43.DLL D3DX9_24.DLL
D3DX10。通过 D3DX10_43.DLL 的 DLL
通过 D3DCompiler_43.DLL D3DCompiler_33.DLL
D3DX11_42.DLL
D3DX11_43.DLL
D3DCSX_42.DLL
D3DCSX_43.DLL
通过 XACTENGINE2_9.DLL XACTENGINE2_0.DLL
通过 XACTENGINE3_7.DLL XACTENGINE3_0.DLL
XAUDIO2_0.DLL
XAUDIO2_1.DLL
XAUDIO2_2.DLL
XAUDIO2_3.DLL
XAUDIO2_4.DLL
XAUDIO2_5.DLL
XAUDIO2_6.DLL
XAUDIO2_7.DLL
通过 XAPOFX1_5.DLL XAPOFX1_0.DLL
通过 X3DAUDIO1_7.DLL X3DAUDIO1_0.DLL
XINPUT1_1.DLL
XINPUT1_2.DLL
XINPUT1_3.DLL
如果打开新版本文档: https://support.microsoft.com/zh-cn/help/179113/how-to-install-the-latest-version-of-directx
就会发现描述只有寥寥几行字,压根就没提老游戏依赖 DX9 的问题:
DirectX 11.3 和 12 随附在这些 Windows 版本中。
可以通过 Windows 更新获取更新。 这些版本的 DirectX 没有独立的程序包。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.