将 DirectX-9 添加到 inno-setup 安装程序

Add DirectX-9 to inno-setup installer

我有一个使用DirectX 9的旧软件。它已经过时了,但仍然有人在使用它。

Win10 没有预装 DX9,我想将它添加到我的安装程序中。到目前为止,我看到有一个来自 Microsoft 的大型 (100mb) DX 包,其中包含 DX9 和 10 的所有版本和构建。(http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&displaylang=en)

在众多版本中,我看到,例如"Jun2010_d3dx9_43_x86.cab",其中包含.dll、.cat 和.inf。我想说这足以满足我的需要,所以我将其添加到我的程序安装程序 (inno-setup) 中。

我对 DX 和 DLL 的了解有点落伍了。有人可以就如何继续以及仅安装其中一个 dll 是否正确提供一些指导吗?

谢谢!

DirectX 9.0c 实际上带有 Windows10。从 Windows XP Service Pack 2 开始,“DirectX 最终用户运行时”从不在 [=28] 的任何版本上安装 DirectX =].更新“DirectX”的唯一方法是安装 Service Pack、Windows 更新或移动到 Windows.

的新版本

在此处查看 Not So Direct Setup 了解完整故事。

但是,您的旧应用程序可能确实依赖于一些可选的并排组件,例如 D3DX9、D3DX10、D3DX11、XAudio2_7、XInput1_3、D3DCompile #43、Managed DirectX 1.1、或其他仅由遗留 DirectX 最终用户运行时部署的东西。在这种情况下,您应该下载 latest DXSETUP package (the April 2011 refresh of the end-of-life DirectX SDK June 2010 release on MSDN).

然后您可以配置一个 minimal package,它将仅部署您实际使用的 DLL。例如,如果您将 D3DX9 2010 年 6 月版的 DirectX SDK 用于 32 位应用程序,但这就是您所需要的,您只需安装包即可:

dxsetup.exe 
dsetup32.dll 
dsetup.dll 
dxupdate.cab 
Jun2010_d3dx9_43_x86.cab

当然,如果您的应用程序足够老,可以使用以前版本的 D3DX9,那么您需要弄清楚并使用正确的 .cab

See Where is the DirectX SDK? as well.