IIS转到64位系统后,32位环境下开发的组件无法使用的解决方法

  • Post author:
  • Post category:其他


因为是第三方开发的组件,而且很不幸的是,找不到这个第三方了。但客户的硬件升级了,不再支持32位的操作系统,虽然用虚拟机也是一个解决方法,但毕竟无法发挥硬件的全部优势,还得解决组件的问题。

网上找了N种方法,都没有完全解决,最后结合了一下,方法如下:

1、注册组件。

把组件拷贝到C:\Windows\SysWOW64目录下再注册。注册组件.bat:

regsvr32 xxx.dll

据说可以自动区分32位还是64位,在此分享一下,不过还是直接拷贝了注册比较稳妥。

reg Query “HKLM\Hardware\Description\System\CentralProcessor\0” | find /i “x86” > NUL && set OS=32BIT || set OS=64BIT

if %OS%==32BIT %windir%\system32\regsvr32.exe xxx.dll

if %OS%==64BIT %windir%\syswow64\regsvr32.exe xxx.dll

2、设置IIS在32位下运行。

打开IIS应用程序池,在对应的程序池上右键–高级属性,把“启用32位应用程序”设置为true。

如果可以了,恭喜你。还不行的话,再进行第三步吧。

3、在iis中重新注册32位的.net framework。

C:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i

如果还用到其他的版本,在相应的目录下都重新注册一遍。

重启IIS,成功!



版权声明:本文为caids30原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。