在64位Win上缺少dll

Tom*_*Tom 7 .net c++ dll

我有一个.net应用程序,它使用一些vc ++编译的Win32 dll.它在32位Win上工作得很好,但在64位上存在一个问题:"无法加载DLL'xyz':找不到指定的模块.(HRESULT异常:0x8007007E)"

使用依赖walker我发现它错过了以下dll:MSVCP100.DLL,MSVCR100.DLL,GDIPLUS.DLL,GPSVC.DLL,IESHIMS.DLL

如何将它们安装到我的64位Win?我应该把它们放在哪里?我应该注册吗?要么...?

注意,我的项目是为x86平台编译的,它是从Program Files(x86)文件夹作为32位应用程序运行的.我的dll在Visual Studio 2010中通过Visual C++被命名为Win32.

请注意,由于其他一些原因,我的dll无法获得64版本的任务,因此它不是一个解决方案.

谢谢!

Ale*_*x F 10

整个过程应该是32位或64位.如果无法以64位编译所有依赖库,则需要以32位运行.NET项目.为此,请创建x86配置(默认为Any CPU)并在此配置中构建.NET项目.

您还需要在目标计算机上安装VC++ 2010可再发行组件包,具有正确的位数,在您的情况下 - x86.该软件包可以从Microsoft WEB站点下载.

如果您的程序具有安装包,则应将VC++可再发行组件作为单个文件或合并模块添加到其中.