Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 使用Visual Studio 2010 Professional部署DirectX/MFC应用程序_Visual Studio 2010_Deployment_Mfc_Directx 11 - Fatal编程技术网

Visual studio 2010 使用Visual Studio 2010 Professional部署DirectX/MFC应用程序

Visual studio 2010 使用Visual Studio 2010 Professional部署DirectX/MFC应用程序,visual-studio-2010,deployment,mfc,directx-11,Visual Studio 2010,Deployment,Mfc,Directx 11,我能够在VS2010环境中运行我的应用程序。但无法使其作为独立的exe运行(只需双击exe即可运行)。我不知道需要什么文件 在VS中,在其他依赖项中,我有: d3d11.lib d3dcompiler.lib d3dx11d.lib d3dx9d.lib dxerr.lib dxguid.lib winmm.lib comctl32.lib 我试图将这些文件复制到我的exe所在的目录: d3d11.dll d3dcompier_43.dll d3dx9d_43.dll d3dx11d_43.d

我能够在VS2010环境中运行我的应用程序。但无法使其作为独立的exe运行(只需双击exe即可运行)。我不知道需要什么文件

在VS中,在其他依赖项中,我有:

d3d11.lib
d3dcompiler.lib
d3dx11d.lib
d3dx9d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib
我试图将这些文件复制到我的exe所在的目录:

d3d11.dll
d3dcompier_43.dll
d3dx9d_43.dll
d3dx11d_43.dll
我还试图找到一些依赖项,但是依赖项遍历程序由于一些错误而崩溃。所以我在InstallShield 2010中使用了依赖项扫描程序,它说:

d3dx11d_43.dll
Microsoft (R) C Runtime Library
Microsoft OLE 2.40 for Windows NT(TM) and Window 95(TM) Operating Systems
VC User gdiPlus RTL X86
最后三件事是什么?我还能做什么

//编辑

该应用程序是在2010年6月使用DirectX SDK创建的,因此我在6月安装了DX最终用户

不过,应用程序是通过VS2010工作的,但是独立的EXE(在同一台计算机上)不起作用,所以我认为如果我有SDK(DexaC++ + ReDIST)也不需要DX终端用户。 我还尝试通过VS2010创建设置,它复制了以下文件:

COMDLG32.dll
d3d11.dll
d3dx11d_43.dll
IMM32.dll
MSIMG32.dll
OLEACC.dll
oledlg.dll
但它仍然无法工作(在单击exe时,它始终显示:程序xyz已停止工作。Windows可以在线找到此问题的解决方案。查找/关闭/调试按钮。)


可能是MFC的问题?

您需要在用户系统上安装(正确的版本,与您的开发环境相匹配),以及。

您需要安装(正确的版本,与您的开发环境相匹配),而不仅仅是复制这些DLL在用户系统以及。

上,我已经多年没有做过任何directx了,但我记得,您需要创建一个包含directx安装程序的安装程序,它需要检查客户端,以查看是否已经存在合适的directx安装程序。不能只将directX DLL复制到客户端。您需要由DirectX安装程序正确安装您正在使用的版本(或更高版本)。我已经多年没有安装任何DirectX了,但我记得,您需要创建一个包含DirectX安装程序的安装程序,并且它需要检查客户端以查看是否已经存在合适的DirectX安装。不能只将directX DLL复制到客户端。您需要使用的版本(或更高版本)由DirectX安装程序正确安装。@tobi您需要实际使用可分发安装程序,而不仅仅是复制DLL。他们进行系统范围的更新。我在编辑后的帖子中写道,我已经安装了DX和VC++可再发行文件,但仍然不起作用。@tobi你需要实际使用可分发安装程序,而不仅仅是复制DLL。他们进行系统范围的更新。我在编辑后的帖子中写道,我已经安装了DX和VC++可再发行文件,但仍然不起作用。