繁体   English   中英

使用不在System32中的DLL

[英]Utilizing a DLL not in System32

我在没有管理员权限的系统上运行

我尝试运行的exe利用了msvcp140.dll,目前在运行时将无法运行,并抛出一条错误消息,指出缺少msvpc140.dll。

通常,我只是将dll安装到system32上并用它来完成,但是在这种情况下,我没有管理权限。

运行时有没有办法映射到该dll? 某种批处理命令? 编译时必须以某种方式将其链接吗? 有什么建议吗?

谢谢!

您有以下选择:

  1. 将.dll添加到.exe所在的目录中。 该特定的.dll可重新分发,这意味着您可以将其包含在安装程序中,尽管正确的方法是调用MS VC ++可重新分发的安装程序。
  2. 重新编译您的应用程序以使用到C ++运行时的静态链接。 在这种情况下,您根本不需要.dll

我不认为您应该将msvcp140.dll复制到系统文件夹中以防万一。 System32是一个全局文件夹,因此此目录中dll的任何更改都会影响所有已安装的应用程序。

来自MSDN的这篇文章:

介绍如何通过将文件复制到文件夹来部署Visual C ++应用程序。

从\\ VC \\ redist \\ version文件夹中的Visual Studio安装目录复制适当的MFC和C运行时(CRT)库文件,然后将它们粘贴到MFC项目的\\ Release \\文件夹中。

这也与非MFC应用程序部署有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM