Problem with manifest, the specified module could not be found



Hello all,

I'm having some problems understanding how the runtime locates
assemblies, and I hope you can help me shed some light on it.

I'm deploying a web service, which uses some 3rd party dll
(FelibFilterLib.dll). The problem is as follows:

1) The webservice is xcopied to the server, and the dll in question
(FelibFilterLib) is located in the bin directory of the web service
(ie. KPIS/bin)

2) When the webservice is requested, an error occurs saying 'The
specified module could not be found (Exception from HRESULT:
0x8007007E)', so I use Fuslogvw to see what dll is missing, and it
gives me the following log:

--------------- fuslogvw log ---------------------
LOG: Attempting download of new URL file:///C:/Program Files/KPIS/
LOG: Assembly download was successful. Attempting setup of file: C:
\Program Files\KPIS\Webservice\bin\FeLibFilterLib.dll
LOG: Entering download cache setup phase.
ERR: Error extracting manifest import from file (hr = 0x80131018).
ERR: Setup failed with hr = 0x80131018.
ERR: Failed to complete setup of assembly (hr = 0x80131018). Probing
--------------- fuslogvw log ---------------------

So actually the error is not so much that the file cannot be found,
but more that the manifest cannot be read.

3) So I put the FelibFilterLib.dll into the System32 folder. NOW THE
SERVICE WORKS! But verifying with fuslogvw, I still get the error that
the manifest cannot be read. Futhermore if I use filemon, it seems
that it is actually the system32 dll that is found.

4) Now, if I try to delete the dll from system32, I get an error
saying that the file is in use. It seems that IIS is locking the dll,
because if I reset IIS I am able to delete the file.

5) When the file is deleted, the WEBSERVICE STILL WORKS. And from the
fuslogvw log I can see that it still cannot read the manifest. The
service also works after the system is rebooted. It is only when I
delete the dll from the webservice bin directory that the webservice
breaks again.

Can anyone help me explain this behaviour?

Best regards,

BTW: Microsoft; How hard would it be to actually state which assembly
cannot be loaded in the above error message - as I see it, you have
the assembly name right there in the parameter fileName.

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question