是否可以将 Visual C++ Redistributable 2010 和/或 DirectX 10 安装到特定文件

Can I Install Visual C++ Redistributable 2010 and/or DirectX 10 to a Particular Folder?

本文关键字:DirectX 安装 文件 Visual C++ 2010 Redistributable 是否      更新时间:2023-10-16

我希望为Windows 8创建一个需要VCRedist 2010和DirectX 10才能正常运行的程序的可移植版本。但是,我无法使用安装程序,因为它们尝试安装到系统路径,并且虽然我正在使用的计算机具有管理员权限,但我在要将其传输到的计算机上没有管理员权限。经过大量研究,似乎我可以在应用程序文件夹中包含VCRedist 2010和DirectX 10 dll文件,但是我无法找到所有必需dll的列表。如果这是真的,有人能给我一个清单吗,如果不是真的,有没有人知道另一种方法来做到这一点?

系统信息: 32位操作系统, 视窗 8

这里要说的第一件事是,你永远不会重新分发DirectX。它是操作系统的一部分,只能通过服务包、升级操作系统或通过 Windows 更新进行更新。自Windows XP Service Pack 2以来一直如此,但这是一个鲜为人知的事实。

DirectX

最终用户运行时包(又名 DXSETUP 和 DXWSETUP(永远不会在任何版本的操作系统上安装任何版本的 DirectX!十多年来一直如此。

如果你的应用程序使用旧版 DirectX SDK 中附带的并行可选组件之一,如 D3DX9、D3DX10、D3DX11、D3DCompile #43、XAudio 2.7、XInput 1.3 或 XACT,则必须使用旧版 DirectSetup 包来编辑这些 DLL,因为它们从来都不是操作系统的一部分。使用 DirectSetup 始终需要管理员权限。

请参阅Not So DirectSetup以获取更全面的说明。

对于 Windows 8 标准用户专用应用程序,更好的选择是使用 DirectX 11 并利用 D3DX 功能的众多开源替代品之一。如果你需要XAudio,你可以使用XAudio 2.8。如果使用 D3DCompile,则可以将其与 Windows 8 SDK 中的应用程序并排包含。如果使用 XInput,则可以使用 XInput 1.4 或较旧的 XInput 9.1.0。

请注意,Windows 8.0 现已结束生命周期。虽然仍支持作为Visual Studio 2015的目标,但这些用户应升级到Windows 8.1或Windows 10以保持支持。在Windows 8.1中,D3DCompile #47 DLL已经是操作系统的一部分。

Visual C++ 2010、2012、2013 和 2015 DLL 可以并行包含(也称为应用程序本地部署(。您可以使用 props 文件将 Windows 8.1 SDK 与 VS 2010 一起使用,但我建议迁移到较新版本的 Visual Studio,它可以更轻松地使用 Windows 8.1 SDK 内容。

这里的另一个选项是使用VS 2013,以Windows 8应用商店为目标,并使用它来处理所有不需要管理员权限的部署。您仍然必须使用 Direct3D 11,并避免使用所有旧版 DirectX SDK 组件,包括 D3DX9/D3DX10/D3DX11。

请参阅 DirectX SDK 在哪里?。