gpt4 book ai didi

c++ - 我可以将 Visual C++ Redistributable 2010 和/或 DirectX 10 安装到特定文件夹吗?

转载 作者:行者123 更新时间:2023-11-30 03:44:28 25 4
gpt4 key购买 nike

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

系统信息:32 位操作系统,Windows 8

最佳答案

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

DirectX 最终用户运行时包(又名 DXSETUPDXWSETUP)从不在任何版本的操作系统上安装任何版本的 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 并使用众多 open source replacements 中的一个。用于 D3DX 功能。如果需要 XAudio,可以使用 XAudio 2.8 .如果你使用 D3DCompile ,您可以将它与 Windows 8 SDK 中的应用程序并排包含。如果你使用 XInput,你可以使用 XInput 1.4 or the older XInput 9.1.0 .

Note that Windows 8.0 is now end-of-life. While still supported as a target for Visual Studio 2015, those users are expected to upgrade to either Windows 8.1 or Windows 10 to maintain support. In Windows 8.1, the D3DCompile #47 DLL is already part of the operating system.

Visual C++ 2010、2012、2013 和 2015 DLL 可以并排包含(又名 application local deployment )。您可以使用 Windows 8.1 SDK 与 VS 2010 使用 props文件,但我建议移动到较新版本的 Visual Studio,它可以更轻松地使用 Windows 8.1 SDK 内容。

Another option here is to use VS 2013, target Windows 8 Store, and use that to handle all the deployment which does not require admin rights. You still have to use Direct3D 11 and avoid all use of legacy DirectX SDK components including D3DX9/D3DX10/D3DX11.

参见 Where is the DirectX SDK? .

关于c++ - 我可以将 Visual C++ Redistributable 2010 和/或 DirectX 10 安装到特定文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35420271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com