dcl*_*age 2 windows directx installation redistributable directx-11
使用 2010 年 6 月的 DirectX SDK 编写程序时,必须在安装程序中包含几个可再发行的 cab 文件,以便程序在全新的 Windows 安装上运行。
DirectX 现在包含在 Windows SDK 中,但我无法找到有关在构建安装程序时是否需要任何类型的可再发行组件的信息。假设我使用 Windows 10 SDK。我的程序是否仅适用于全新的 Windows 7 安装?还是我缺少某种可再发行的东西?
这是我自己发现的:
1) 在 Windows 10 SDK 目录中似乎有一个“Redist”目录,其中包含 d3dcompiler_47.dll 和 d3dcsx_47.dll。我的假设是,如果链接了等效的库,那么我需要使用我的应用程序重新分发这些 dll,否则我不需要。是这种情况吗?
2) 我怀疑微软已经不再使用 DirectX 的 dll,它现在只是静态链接。这将解释不需要重新分发任何 dll。我也没有在我的 C:\Windows\System32 目录中看到任何 d3d11 dll,这似乎支持了这种怀疑。然而,d3d11.lib 只有 15kb,这让我相信某处一定有一个 dll。这是否以某种方式包含在 Windows 中?即使是全新的 Windows 7 安装?它是否随 Windows 更新一起分发?
任何人都可以让我知道我的担忧是否有效?我只是想确保我的安装程序包含 Windows 7 或更高版本的用户运行使用 Windows 10 SDK 中的 DirectX 11 的程序所需的所有内容。
自 2004 年以来,DirectSetup(又名DXSETUP)从不安装“DirectX”。它不安装 Direct3D、DirectDraw、DirectSound、DirectInput、DirectPlay、DirectSound、DirectMusic、DirectShow 等。从 Windows XP Service Pack 2 开始,您可以称之为“DirectX”的一切都是操作系统的一部分,只能通过 Windows Update 进行更新, Service Pack 或操作系统的新版本。
有关 Direct3D 11 运行时部署的一般信息,请参阅Direct3D 11 游戏开发人员部署。这里的简短回答是:需要 Windows 7 作为您的最低规格,不要担心:)
唯一DXSETUP安装的是“可选的并排”组件,DLLs例如 D3DX9、D3DX10、D3DX11、XInput 1.3、XAudio 2.7、XACT、D3DCompile #43、D3DCSX #43 和旧版 Managed DirectX 1.1 程序集。
在 Windows 8 中,XInput 1.4和XAudio 2.8也被添加到操作系统中。DXSETUP 从不安装 XInput 1.4 和 XAudio 2.8,但旧的 XInput 9.1.0 包含在 Windows Vista 或更高版本中,通常足以满足大多数需求。
XNAMath被替换DirectXMath这是Windows SDK的一部分。它都是内联的,所以它没有链接库或DLL.
D3DX9、D3DX10 和 D3DX11 的所有版本都已弃用,XACT 也是如此。请参阅MSDN和Living without D3DX。
对于 Windows SDK,您拥有DLLs作为操作系统一部分的“DirectX”的头文件和链接库。请参阅Windows SDK 简史。
为支持 Windows 7 开发,您可以将 D3DCompile #46、D3DCompile #47、D3DCSX #46 和 D3DCSX #47DLLs应用程序本地与 Windows 桌面应用程序重新编排。这些是您找到的 REDIST 文件。请参阅HLSL、FXC 和 D3DCompile。
对于 Windows 8.1,操作系统还包含 D3DCompile #47。如果您需要 Windows 8.1 或 Windows 10 作为您的最低规格,那么您甚至不需要将其设置为本地应用程序。
总结一下:您可以编写和发布适用于 Windows 7 的 Direct3D 11 应用程序,而根本不使用旧版 DirectX SDK 或旧版 DXSETUP。这里的一个例外情况是,如果您需要使用 XAudio 2.7,在这种情况下,您应该将标头和 REDIST 修剪到这种情况下的绝对最小值。 更新:有关最新 XAudio 2.9 的 Windows 7 兼容版本,请参阅XAudio2Redist。
请参阅Zombie DirectX SDK和DirectX SDK(2015 版)在哪里?
至于各种 DirectX SDK 示例和工具的最终位置,请参阅DirectX SDK 示例目录和DirectX SDK 工具目录。
| 归档时间: |
|
| 查看次数: |
1546 次 |
| 最近记录: |