加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 模块“MyShellExt.dll”无法加载

发布时间:2020-12-16 09:48:26 所属栏目:百科 来源:网络整理
导读:我在Visual Studio 2010中编写了一个 Shell扩展. 它实现了一个Context Menu Handler和File Icon Handler. 在使用Visual Studio的计算机上,它运行良好.但在其他计算机上,注册MyShellExt.dll失败并显示消息 [Window Title] RegSvr32 [Content] The module “My
我在Visual Studio 2010中编写了一个 Shell扩展.
它实现了一个Context Menu Handler和File Icon Handler.

在使用Visual Studio的计算机上,它运行良好.但在其他计算机上,注册MyShellExt.dll失败并显示消息

[Window Title]

RegSvr32

[Content]

The module “MyShellExt.dll” failed to load.

Make sure the binary is stored at the specified path or debug it to
check for problems with the binary or dependent .DLL files.

The specified module could not be found.

[OK]

我检查了依赖项,发现以下文件必须与MyShellExt.dll在同一个文件夹中:msvcr100.dll,msvcp100.dll,atl100.dll.

这意味着我应该将这些库包含在我的安装包中.

如何关闭使用这些库?

解决方法

这些库是C运行时,C运行时和ATL运行时.从那时起,您无法关闭前两个对于启动程序运行至关重要.但是,您可以静态链接到它们,因此您不需要像DLL那样携带它们.为此,您转到项目设置C/C++,代码生成,运行时库并选择“多线程”或“多线程调试”而不是“多线程DLL”或“多线程调试DLL”.确保在所有设置配置中都这样做(Debug,Relaese等’)

至于第3个库(ATL100.dll),它也可能受此设置的影响,我不确定.如果停止使用从中导入的函数,则可以删除.依赖性walker可以告诉您从该库中使用的函数.如果可以;停止使用该函数,那么该库也可能具有静态版本(.lib文件而不是.dll文件)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读