我正在努力为IIS创建一个自定义经典模块,我为32位环境做了它(并且它工作正常),但是在64位重新编译它,当我在IIS中安装它时,在64位工作的AppPool停止工作循环到很多错误:
进入应用程序日志:模块DLL D:\IIS Modules\mydll.dll加载失败。数据就是错误。
进入系统日志:服务于应用程序池“Utilities”的工作进程“9080”中协议“http”的侦听器通道报告侦听器通道失败。数据字段包含错误号。
运行DebugViewer(Sysinternals)时,我会得到以下错误:w3 wphost!WP_IPM::ReportListenerChannel停止[wpipm.cxx@1743]:报告ListenerChannel由于失败而停止; ProtocolId:http,ListenerChannelId:0 iisutil!ReadMultiStringParameterValueFromAnyService [helpfunc. cxx@490]:Inetinfo:无法阅读注册表值错误(80070002):系统找不到指定的文件。
要停止循环,我必须从IIS中删除模块
模块是用C++编写的
Thanks in advance
2条答案
按热度按时间zy1mlcev1#
我发现自己使用Sysinternals进程监视器的解决方案,MSVCP140.DLL为64位环境没有安装。
安装了这个,DLL工作正常
希望这可以帮助别人谢谢
jxct1oxe2#
您可以尝试配置IIS以运行32位应用程序,如果您不启用32位,它将始终尝试加载64位。您需要遵循以下步骤: