>Currently we have a testing server which is 32 bit and Production
>server is 64 bit.
>and DTSearch engine DLL version: 7.61.7769.1 installed on both servers.
>
>Scenario:
>We have .Net Wrapper DLL which we compiling with AnyCPU option as we
>have to use this DLL on 32 bit as well as 64 bit cpu.
>Now we have added a reference of dt search DLL (i.e dtengine64.dll)
>in wrapper .Net DLL . when we run this on 32 bit testing server it
>works fine, but when we run the same DLL on 64 bit cpu
>it is giving below error message
>
>
>Error Details:
>
>Error Message: Retrieving the COM class factory for component with
>CLSID {A967E5D2-B0E1-11D3-B57C-00105AA461D0} failed due to the
>following error: 80040154.
>
>Can you please suggest what we are missing.
>
>Searching on the web revealed that we may have to complile the .net
>wrapper with x86. We would like to keep the ANY CPU option since we
>want the .net wrapper DLL to run 64 bit on 64 bit servers and 32 bit
>on 32 bit server.
Compiling for AnyCPU can be problematic because there are two
different dtSearchNetApi2.dll versions, a 64-bit version and a 32-bit
version. If the wrong one tries to load in a process, you can get an
error. However, usually the symptom you get is a BadImageFormat
exception rather than a COM error. (See:
http://support.dtsearch.com/faq/dts0223.htm)
Based on the CLSID, it looks like you are using the dtSearch Engine's
COM interface instead of the .NET interface. If this is the case,
unregister dten600.dll and register dtengine64.dll to ensure that the
correct library is found.
David Thede
dtSearch Corp.