IIS7+配置Native HttpModule模块异常

使用vs2013编译的c++模块,本地IIS调试没有出现异常,放到Server 2008系统则出现异常 .

本地系统测试一切正常,疑似装过vs的系统都可以正常使用
已经在2台Win 10 ,1台Win 2008系统上装过vs2013, 都测试正常使用
但是在新的Win 2008系统上怎么测试都不行,相关SDK都已经安装,均不能解决

已装vc9 vc10 vc11 vc14
Windows sdk 7.1

异常信息:

模块 DLL C:\Windows\System32\inetsrv\test.dll 未能加载。返回的数据为错误信息。

 + <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-IIS-W3SVC-WP" Guid="{670080D9-742A-4187-8D16-41143D1290BD}" EventSourceName="W3SVC-WP" /> 
  <EventID Qualifiers="49152">2280</EventID> 
  <Version>0</Version> 
  <Level>2</Level> 
  <Task>0</Task> 
  <Opcode>0</Opcode> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2018-04-29T02:05:58.000000000Z" /> 
  <EventRecordID>24175</EventRecordID> 
  <Correlation /> 
  <Execution ProcessID="0" ThreadID="0" /> 
  <Channel>Application</Channel> 
  <Computer>172_27_0_9</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data Name="ModuleDll">C:\Windows\System32\inetsrv\test.dll</Data> 
  <Binary>7E000000</Binary> 
  </EventData>
  </Event>

[微软官方案例]
https://msdn.microsoft.com/en-us/library/ms693685(v=vs.90).aspx

相关文档:
https://social.technet.microsoft.com/wiki/contents/articles/21755.event-id-2280-iis-worker-process-availability.aspx

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc735182(v=ws.10)

经过排除应该和httpserv.h此头文件需要的SDK有关,求大神帮忙解答下。win系统如果需要httpserv次功能正常使用,需要哪些支持,谢谢!!

这是全网我看到最清晰的问题描述了,我也遇到了这个问题,但是全网没有找到答案,花了三天才搞通。。。

  1. iis应用程序池,右边设置应用程序池默认设置,启用32位应用程序
  2. 将开发的dll放到SysWOW64\inetsrv下,而非system32\inetsrv
  3. 安装配置模块吧,bingo!

原理我并没有完全摸清楚,但是从解决方法中可以推知一二,大概是iis或是server位数的问题,之前google也查到说7E000000错误与位数有关。

时隔三年,帮不到楼主,希望能帮到后来的朋友吧

你给的信息不全无法判断,对照 https://blog.csdn.net/wangjia184/article/details/17919667 你看下你安装对了没有

去映射那里加载多一个脚本,脚本运行的dll就是你所缺的dll就可以了