msvcr100.dll依赖如何随安装包发布

Windows程序安装包安装完要注册dll,但注册时提示注册不成功【 RegSvr32 failed with exit code 0x3】,查了一下是有上层dll依赖。判断是依赖msvcr100.dll,所以在注册的时候想着先注册msvcr100.dll再注册自己的dll就可以解决,这样可以省去小白用户需要安装VC2010运行库的麻烦。但实际发现,安装完注册dll时,msvcr100.dll注册报错【 RegSvr32 failed with exit code 0x4】,msvcr100.dll压根无法注册成功。但也发现钉钉微信等都有包含VC库dll,特别是msvcr100.dll。但他们的安装程序在有没有VC库的电脑上都可以完美安装和运行。

顾求各位指教,对VC运行库的依赖,如何最简便方法解决?避免没装VC库的电脑无法安装使用。

msvcr100.dll不需要注册,放到程序目录下就可以。或者复制到system32下。

参考GPT和自己的思路:

对于这个问题,最简便的方法就是把VC运行库打包进安装包中进行发布,而不是依赖于系统已经安装了该库。这样可以确保使用你的程序的电脑都有所需的依赖库,避免了没有安装VC库的电脑无法安装使用的问题。

另外,如果使用的是Visual Studio进行开发的话,可以在项目的属性中,通过“C/C++ -> Code Generation”选项将运行库设置为“/MT”或“/MTd”,这样编译生成的EXE文件就会包含所需的VC运行库,不用再单独打包。但需要注意的是,这样会使得生成的EXE文件变大,同时也可能会导致一些潜在的兼容性问题,需要根据具体情况进行权衡选择。

用installshield,打包你的程序

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/367738
  • 你也可以参考下这篇文章:msvcr120.dll错误的解决方法
  • 除此之外, 这篇博客: [Windows]msvcr110.dll运行库缺失问题解决方案中的 解决方案 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    方案一:
    微软官方解决方案 http://www.microsoft.com/en-us/download/details.aspx?id=30679#
    打开该连接:
    弹出如下界面:
    在这里插入图片描述
    点击Download:
    根据操作系统选择需要下载的文件勾选 然后点Next就会下载。
    在这里插入图片描述
    下载完成后得到(以64位操作系统为例)名为:
    vcredist_x64.exe 的执行程序 双击运行。
    查看 C:\Windows\System32目录下是否有msvcr110.dll
    微软官方网站加载过慢,可能需要用到科学上网
    方案二
    由于微软官方可能加载过慢
    可以自行百度 vcredist 下载对应的版本
    运行就行。
    方案三(不推荐 我搞了好久没搞明白):
    自行下载msvcr110.dll
    根据操作系统位数
    下载对应的msvcr110.dll

    64位: 需要将 msvcr110.dll 放到 C:\Windows\System32目录下
    32位:没有实验 但估计也是放在 C:\Windows\System32目录下
    之后
    按win + R 建
    输入
    regsvr32 msvcr110.dll
    回车


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^