I have a 64 bit CHILKAT CRYPT assembly (for .NET 4.0). when I run my application in IIS 6.0 in Windows Server 2003 (64 bit) I got an error that the assembly is not found. on the other hand, in my local machine I have a 32 bit assembly and Windows7 32 bit and it works fine.
What should I do to to overcome this error and what are the causes?
The main problem I found is that the web application is built for platform x86 and deployed to x64 machine on which the machine does not allow 32 bit programs to run.
in this case the error that indicates that the assembly is not found is not correct. its simply not compatible with x64 machine.
I found that the following steps solved the problem:
Add the 64 bit assembly to web application project (visual studio 2010)
Select x64 for target platform from the configuration manager in visual studio
Build the solution and deploy it
This steps really fixed my problem.
Related
I am working on a Classic ASP application. It used dlls to upload and download files to web server.
FunctionUpload.dll is registered using the regsvr32.exe command. It works fine in Windows 2003 server , 32 bit OS with IIS 6.
Now the server is upgraded to Windows 2008 64 bit OS with IIS 7.5. I registered the dll using regsvr32.exe command in 64 bit OS. ( regsvr32.exe in C:\Windows\SysWOW64 folder using Admin login)
When the ASP code tried to create an object of that dll it fails.
Set download = Server.CreateObject("FunctionUpload.File")
Please let me know what steps need to be done to access the dll from ASP code on a server with windows 2008 64 bit OS with IIS 7.5?
How to check if the dll is registered properly on a 64 bit OS?
Should I make any changes in the IIS 7.5 settings to invoke that dll?
Thanks
Ashok
you have to enable 32-bit applications in your iis under your application pool
I have developed one 32 bit web application which is using Access database (Microsoft.Jet.OLEDB.4.0).
Now I have converted it into 64 bit.
For this I have changed Target CPU property to x64.
I was getting Error as
The 'Provider=Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.
then I installed Microsoft.ACE.OLEDB.12.0.
But now it is giving error as
The 'Provider=Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
Please help me..
There are two versions of Microsoft.ACE.OLEDB.12.0, for 32bit and 64bit. You have to install the 64bit version of it, since your application is of 64bit.
"AccessDatabaseEngine_x64.exe"
Try changing the configuration to x86.
I am using visual studio 2010 Express. I have created a website in asp.net.It works in XP but not in Windows 7 premium(64-bit)
I am facing the same problem mentioned here.
I tried to register the DLL using regsvr32 but shows an error as
The Module "c:\MyProject\bin\MyDll.dll" was loaded but the entry-point
DllRegisterServer was not found.
Make sure that "c:\MyProject\bin\MyDll.dll" is a valid DLL or OCX and
then try again.
Also i didnt find any options under properties to set platform target or Target CPU so that i can convert my website to run for 32bit platform.
I am new to ASP.NET, Please help...
First notion would be that your app is running under a 64-bit application pool in IIS that does not have 32-bit apps enabled, and in that case 32-bit DLLs cannot be loaded into a 64-bit process space. Check that the application pool hosting your site allows 32-bit applications.
VS 2010 Express should be creating 32-bit executables by default; although I have not personally used it, I believe I have read that to build 64-bit executables in the 2010 Express versions you must download an additional SDK, so you're likely building a 32-bit target, thus causing the problem described.
I got this dialog trying to run the Visio x32 FlowChartSampleVBNET add-in. The dialog appeared with CLSID{00024500-0000-0000-C000-000000000046} which pointed to Excel. I had Excel x64 installed on my x64 machine. Apparently, the mismatch between Visio x32 and Excel x64 was causing the problem. After uninstalling Microsoft Office 2013 x64 and reinstalling Microsoft Office 2013 x32, I could run the add-in without error.
Enabling 32-bit application in IIS did not worked in my case!
When I have installed crystal report for visual studio and crystal report runtime engine (64-bit) worked in my case!
Some other suggests that, this problem could be resolved by installing both 32-bit and 64-bit runtime engine!
You can find similar issue here Retrieving the COM class factory for component with CLSID {XXXX} failed due to the following error: 80040154
I am getting following exception at runtime when I changed platform from AnyCpu to x64 of a web application. I am running it locally on windows 7 x-64
[BadImageFormatException: Could not load file or assembly or one of its dependencies. An attempt was made to load a program with an incorrect format.]
As well as checking whether you have any 32-bit components you should also check whether the ApplicationPool that's running your app is set to run as 32-bit. From IIS Manager > Application Pools > Your App Pool > Advanced Settings > Enable 32-Bit Applications. This should be set to False if you want to run in 64-bit mode or True if you want to run in 32-bit mode.
Sounds like you have a component/DLL that is 32-bit, while you are trying to force the Web Application to run solely as a 64-bit application.
You may also consider looking at:
Read
If you leave it as anycpu and it's compiled on a 64 bit system, it should compile and run on 32 and 64 bit. Don't try specifying an architecture when compiling unless you want it to be only 32bit specifically.
Ensure you have the 64bit framework installed.
I am trying to host a web application in a Windows 2008R2 server on IIS7.0 which is 64 bit. I had been running my application on IIS 5.1 XP machine which is 32 bit.
I have my DLLs built with the 'x86' option and also I have enabled "Enable 32 bit applications" to True and also set the managed pipeline to Classic in the application pool of my webservice.
Now I get the following message:
Could not load file or assembly 'Microsoft.Web.Services2,
Version=2.0.1.0, Culture=neutral, PublicKeyToken=[some value]' or one of its dependencies. The system cannot find the file
specified.
Can someone tell me why this happens ?
Just install Microsoft Web Services 2.0 : http://www.microsoft.com/downloads/details.aspx?familyid=1ba1f631-c3e7-420a-bc1e-ef18bab66122&displaylang=en
Can you set your DLLs to build with the AnyCPU option and report what happens?