Click here to Skip to main content
15,890,282 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Hi Experts,

I have on asp.net application deployed on IIS 8 in Windows Server 2012 Standard Edition 64 Bit.

In the dependency of my asp.net application, One DLL is present in its bin directory. This DLL
is build on Any CPU Platform.

Suppose The name of this DLL is X.dll build on Any CPU

now this X.dll is calling native dll.
Suppose the name of native dll is a32.dll and a64.dll
With the length of pointer I Decide that which dll has been import...

If I enable32 bit application in application pool, then it is working fine, because it is detecting always 32 bit native dll in 64bit server.

But If i disable 32 bit application in application pool it crash my application.
That means it is always try to execute a32.dll on 64bit system.
Then Why my a64.dll is not working on 64bit system.

When I try to call same things in windows application. it is working fine with a64.dll in same 64bit server, but in IIS 8 It is not working.

I have tried several things like ApplicationHost settings, application.config setting,
remove entry of 32 bit aspnet_filter.dll, unregister 32 bit asp.net in IIS , so and so...

How can I resolve this issue. I have to run a64.dll instead of a32.dll in 64bit server.

Thanks in advance.
Posted
Updated 5-Jun-13 19:54pm
v2
Comments
RedDk 6-Jun-13 15:01pm    
64-bit Windows Server running on what AMD ... INTEL ...?
RedDk 7-Jun-13 14:50pm    
Day Two ...
Have you tried retaining the 32-bit app but this time change how (any) execution takes place by adding ALL to the "pool" I think it's called. Sorry, my encounters are strictly IIS 7 so this is only a guess.

1 solution

Just in case: did you take into account that there is one 32-bit x86 architecture, but two different, incompatible 64-bit architectures in Intel: x86-64, and IE64 (Itanium). If not, check it out:
http://en.wikipedia.org/wiki/X86-64[^],
http://en.wikipedia.org/wiki/Itanium[^].

—SA
 
Share this answer
 
Comments
Mr. Mahesh Patel 6-Jun-13 3:36am    
no, it is not like intel:x86-64. This is pure 64 bit processor and 64 bit OS
Sergey Alexandrovich Kryukov 6-Jun-13 9:43am    
What do you mean no?! There is no such thing as "pure 64-bit processor". It must be one of the two I mentioned. Please check it up.
—SA
RedDk 6-Jun-13 12:56pm    
I suspect what he is trying state is that his "app" that he wants to run is a 64-bit app (typically to access more than 4GB memory, right?) and a 32-bit processor is not going to be as "pure" as a potentially 64-bit one might be ...
Sergey Alexandrovich Kryukov 6-Jun-13 13:17pm    
I would not understand that... :-)
The things are as simple as that, exactly as I described. OP simply does not understand that x98-64 is the most usual "64-bit processor" and that there is incompatible original IE-64 aka Itanium. And both run as x86 via WoW64...
—SA
RedDk 6-Jun-13 14:52pm    
Yes, but "x86" is your term. By "pure" he acknowledges that the fault is in the WOW64 but he doesn't know wher or why or how. Which is why I say that perhaps the misidentification that Windows seems to make wrt processor might have a memory component attached. Especially when using VS to select platform. After all that's still only 32-bit.

[Edit]
The box I'm running on right now is Intel 64-bit processor. And it's not Itanium ... Which isn't to say that Windows 32-bit OS can't be installed on this motherboard. It's all about adressing >4GB memory.
[End Edit]

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS


CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900