目标电脑未安装VC++6.0或者VS,运行APP丢失DLL问题解决办法

背景

VS或者VC++6.0编译出来的程序需要在未安装VS/VC++6.0的电脑上跑,很大情况会出现MSVCRXXX.dll 或者其他DLL丢失的情形,本篇就DLL相关问题做个记录。

正文

如何使VS或者VC++6.0编译出来的程序在未安装VS/VC++6.0的电脑上跑

在X:\Program Files [(x86)]\Microsoft Visual Studio 版本\VC\redist\区域设置\ 中的 Visual Studio 安装目录下找到包含在 Visual Studio 中的 Visual C++ 可再发行包(VCRedist_x86.exe、VCRedist_x64.exe 或VCRedist_arm.exe)。“X”为VS安装的文件夹,然后将对应的文件安装到目标电脑,即可实现在未安装VS/VC++6.0上的PC机上跑自己编译的程序。

提示MSVCRXXXD.dll丢失,注意字母“D”

若是提示MSVCRXXXD.dll丢失,则你会发现按照方法“1”,根本无法解决问题,它永远会提示该DLL丢失,直至手动将该丢失的DLL扔进“System32”文件夹内。这是不是很不科学?你总不可能让客户自己去网上download一个对应的DLL放到对应的文件夹吧。

最后通过Google查找才找着答案,原来带“D”的原因是因为在编译DLL的时候使用了Debug模式,而实际发行版本应该用release模式,因为可再发行包(VCRedist_x86.exe、VCRedist_x64.exe 或VCRedist_arm.exe)内的DLL全是不带“D”的DLL,若是使用Debug模式,那么怎么安装可再发行包也都不可能解决DLL丢失的问题。

解决办法:编译DLL的时候,使用release模式。

参考链接

The program can't start because MSVCR110.dll is missing ...

重新分发 Visual C++ 文件

Release Application looking for MSVCR110d.dll

至此,记录完毕。

记录时间:2016-12-12
记录地点:深圳WZ

posted @ 2017-01-11 15:06  Ch_Y_Q  阅读(848)  评论(0编辑  收藏  举报