4

I am attempting to deploy a WCF service that currently run in IIS 7 to IIS 8. To run a 32 bit DLL in IIS 7, I had to check 'Enable 32 bit applications' in the application pool. When I do this in IIS 8, it doesn't work.

The exact error message is

Could not load file or assembly 'Progress.ssl.DLL' or one of its dependencies. The specified module could not be found. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Progress.ssl.DLL' or one of its dependencies. The specified module could not be found.

Is there another step to enabling 32 bit DLLs to run in IIS 8?

Kev
  • 118,037
  • 53
  • 300
  • 385
Richard Butterwood
  • 735
  • 1
  • 12
  • 29
  • 3
    Can you elaborate on "it doesnt work" do you get an error of some sort? – CodingGorilla Sep 16 '13 at 18:42
  • Here is the error message Could not load file or assembly 'Progress.ssl.DLL' or one of its dependencies. The specified module could not be found. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Progress.ssl.DLL' or one of its dependencies. The specified module could not be found. – Richard Butterwood Sep 16 '13 at 19:13
  • 1
    Sounds like you're missing a DLL, turn on binding logging and see if that gives you any clues: http://stackoverflow.com/questions/255669/how-to-enable-assembly-bind-failure-logging-fusion-in-net It's also possible that one of your DLL's (or dependencies) is a 64 bit DLL, which obviously cannot be loaded into a 32 bit process. – CodingGorilla Sep 16 '13 at 19:16

3 Answers3

9

Hey I was struggling with this for hours but here is the solution that helped me:

Go to IIS Manager:

  1. Select Application Pools
  2. Then select the pool you are using
  3. go to advanced settings (at right side)
  4. Change the flag of Enable 32-bit application false to true.

Hope that helps

Enkosi X
  • 403
  • 4
  • 11
1

Check if application pool is configured for the correct .net framework and make sure your WCF app is assigned to this application pool. If these are correct and you enabled 32-bit libs for your application pool it should start working.

Michal Vlk
  • 19
  • 2
0

I just found out the offending 32 bit DLLS were built with .NET 2.0. Server 2012 is running .NET 4.5.

Richard Butterwood
  • 735
  • 1
  • 12
  • 29
  • 1
    Looks like you could also be missing `MSVCR71.dll` on that box: http://nicholasbarger.com/2011/04/28/reviving-dependency-walker/ – Kev Sep 16 '13 at 22:19