0
votes

My client is getting the following error, i understood that this error is produced due to dll built in 32 bit machine is used in 64 bit machine. But i tried to replicate this error in local by building a simple dotnet dll in windows xp 32 bit, and tried referencing in the windows application in 64 bit machine. Still i am not able to replicate this error. Error Message: Retrieving the COM class factory for component with CLSID {} failed due to the following error: 80040154

plz provide any input on this.

1
did you registered the dll on the client machine ? - Felice Pollano
What is actually consuming the dll? - Matt Wilko
32 bit programs should work fine on 64 bit Windows - it's the other way around that would normally be a problem I believe. - Bridge
A problem comes when the application is either 64 bit only or AnyCPU and the dll is 32 bit, because the app will load up as 64 bit on a 64 bit box but won't be able to use the 32 bit dll - Matt Wilko
i dont have access to this application, since this application is present in the remote client onsite. So i am trying to replicate this error in offshore, so that i can come with some basic idea of what could be the problem. im getting the following error, "Could not load file or assembly error" as tried to call the 32 bit dll in the 64 bit machine with application in 64 bit only. This error seems to be different from the error "Retrieving the COM Class factory for component with CLSID". So any idea on why this "COM Class Factory Error : 80040154" is coming could be useful. - senthil

1 Answers

1
votes

enter code hereTry to ensure that the COM dll you are looking for is correctly registered on the target machine. Then look at the client, if the client is .NET you should compile it in x86 mode in order to use a 32 bit activex library.