是否需要从Windows SDK重新分发DirectX?

是否需要从Windows SDK重新分发DirectX?,windows,installation,directx,directx-11,redistributable,Windows,Installation,Directx,Directx 11,Redistributable,在使用2010年6月的DirectX SDK编写程序时,必须在安装程序中包含几个可再发行的cab文件,以便在新安装的Windows上运行该程序 DirectX现在包含在Windows SDK中,但我无法找到有关在构建安装程序时是否需要任何类型的可再发行文件的信息。假设我使用的是Windows10SDK。我的程序能在新安装的Windows7上运行吗?还是我缺少了某种可再发行的东西 以下是我自己的发现: 1) Windows 10 SDK目录中似乎有一个“Redist”目录,其中包含d3dcompi

在使用2010年6月的DirectX SDK编写程序时,必须在安装程序中包含几个可再发行的cab文件,以便在新安装的Windows上运行该程序

DirectX现在包含在Windows SDK中,但我无法找到有关在构建安装程序时是否需要任何类型的可再发行文件的信息。假设我使用的是Windows10SDK。我的程序能在新安装的Windows7上运行吗?还是我缺少了某种可再发行的东西

以下是我自己的发现:

1) Windows 10 SDK目录中似乎有一个“Redist”目录,其中包含d3dcompiler_47.dll和d3dcsx_47.dll。我的假设是,如果等效的lib被链接,那么我需要在我的应用程序中重新分发这些dll,否则我就不需要了。是这样吗

2) 我怀疑微软已经不再为DirectX使用DLL,它现在只是静态链接。这可以解释为什么不需要重新分发任何DLL。我在C:\Windows\System32目录中也没有看到任何d3d11 DLL,这似乎支持这种怀疑。然而,d3d11.lib只有15kb,这让我相信一定有一个dll在某处。这是否包含在Windows中?即使是新安装的Windows7?它是用Windows Update分发的吗

有人能告诉我我的担心是否正确吗?我只是想确保我的安装程序包含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运行时部署的一般信息,请参阅。这里的简短回答是:要求Windows 7作为您的最低规格,不要担心:)

唯一安装的
DXSETUP
是“可选并排”组件
dll
,如D3DX9、D3DX10、D3DX11、XInput 1.3、XAudio 2.7、XACT、D3DCmpile 43、D3DCSX 43和旧式托管DirectX 1.1程序集

见和

在Windows 8中,和也被添加到操作系统中。XInput 1.4和XAudio 2.8从未由DXSETUP安装,但旧的XInput 9.1.0包含在Windows Vista或更高版本中,通常足以满足大多数需要

XNAMath被替换为Windows SDK的一部分。它都是内联的,因此没有链接库或
DLL

与XACT一样,D3DX9、D3DX10和D3DX11的所有版本都已弃用。见和

对于Windows SDK,您有“DirectX”
DLL的标题和链接库,它们是操作系统的一部分。看

要支持Windows 7开发,您可以将D3DCompile 46、D3DCompile 47、D3DCSX 46和D3DCSX 47
DLL
应用程序与Windows桌面应用程序一起重新显示为本地。这些是您找到的REDIST文件。请参阅。

在Windows 8.1中,D3DCompile#47也包含在操作系统中。如果您需要Windows 8.1或Windows 10作为最低规格,那么您甚至不需要将其应用程序设置为本地

总而言之:您可以编写并发布一个在Windows 7上运行的Direct3D 11应用程序,而不使用传统的DirectX SDK或传统的DXSETUP。这里的一个例外情况是,如果您需要使用XAudio 2.7,在这种情况下,您应该减少标题,并重新设置为本例的绝对最小值更新:有关最新XAudio 2.9的Windows 7兼容版本,请参阅

看到和

有关各种DirectX SDK示例和工具的最终位置,请参阅和