在Windows XP 64位下运行Win32 IIS应用程序
如何在 Windows XP 64 位上的 IIS 中运行 Windows 32 位应用程序?
注意:这不在 Visual Studio 中运行。 注意:仅记录 404 错误。 注意:404错误是由IIS禁用CGI脚本引起的
How do I run windows 32bit applications in IIS on Windows XP 64 bit?
Note: This is not running within Visual Studio.
Note: Only 404 errors are logged.
Note: 404 errors caused by IIS disabling CGI scripts
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可能遇到位问题 - 执行 Enable32BitAppOnWin64 脚本后,您需要注册 ASP.Net 筛选器的 32 位版本。 转到 32 位版本的框架 (C:\Windows\Microsoft.NET\Framework\v2.0.50727) 并重新运行 aspnet_regiis.exe -i -enable 命令。
You're probably having a Bitness issue - after you do the Enable32BitAppOnWin64 script, you need to register the 32 bit versions of the ASP.Net filters. Go to the 32 bit version of the framework (C:\Windows\Microsoft.NET\Framework\v2.0.50727) and re-run the aspnet_regiis.exe -i -enable command.
试试这个:cscript.exe adsutil.vbs 设置 W3SVC/AppPools/Enable32BitAppOnWin64 true
Try this: cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true
默认情况下,IIS 在默认应用程序池中运行您的应用程序。 在 64 位 Windows 上,该应用程序池默认为 64 位。
您应该创建一个新的应用程序池,并将 IIS 配置为在新的 32 位应用程序池中运行您的 32 位网站。
IIS, by default, runs your application within the default Application Pool. On 64-bit Windows, that Application Pool is, by default, 64-bit.
You should create a new Application Pool, and configure IIS to run your 32-bit website in your new 32-bit Application Pool.
如果将 IIS 设置为以 32 位模式运行(JohnW 的回答)后您的应用程序仍然无法运行,您需要找出错误。 检查 Windows 事件日志(应用程序和系统)并检查 C:\WINDOWS\system32\Logfiles\HTTPERR 文件夹中的 HTTPERR 日志文件(在 win64 上可能位于不同位置)。 IIS 非常擅长记录问题。
If your app still doesn't run after setting IIS to run in 32bit mode (JohnW's answer) you need to track down the error. Check the windows event log (application and system) and check the HTTPERR log file in C:\WINDOWS\system32\Logfiles\HTTPERR folder (may be different location on win64). IIS is pretty good at logging problems.