Installing IIS webservice on a 64-bit system

M

Martin Plechsmid

Hello,

we have a 32-bit dll implementing both a webservice and a COM interface.
When installed on a 32-bit system, it works fine both ways. On a 64-bit
system, it works fine as a COM object, however, we are unable to get it
working as a webservice. In the EventLog we've got

SideBySide: "Dependent Assembly Microsoft.VC90.DebugCRT could not be
found and Last Error was The referenced assembly is not installed on your
system."

- The structure of the webservice directory is as follows:

PdfServiceLib.asmx
PrecompiledApp.config
Web.config
bin\
itextsharp.dll
itextsharp.pdb
PdfServiceLib.dll
PdfServiceLib.pdb
Microsoft.VC90.DebugCRT\
Microsoft.VC90.DebugCRT.manifest
msvcm90d.dll
msvcp90d.dll
msvcr90d.dll
Microsoft.VC90.DebugMFC\
Microsoft.VC90.DebugMFC.manifest
mfc90d.dll
mfc90ud.dll
mfcm90d.dll
mfcm90ud.dll

- PdfServiceLib.asmx contains this single line:
<%@ WebService Class="PdfServiceLib.PdfServiceLibClass" %>

- PdfServiceLib.dll itself is implemented in C++/CLI. It uses .NET 2.0, and
depends on itextsharp.dll, which itextsharp.dll is implemented in C#.

- <dependentAssembly> versions in PdfServiceLib.dll match exactly the
versions of Microsoft.VC90.DebugCRT/MFC.

- We install the webservice through the IIS Manager -> Default Web Site ->
New -> Virtual Directory. We leave the default settings, only check on the
"Run scripts (such as ASP)" permission.

- We access the service through
http://localhost/PdfService/PdfServiceLib.asmx, but it returns

"This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem. (Exception from HRESULT: 0x800736B1)"


and leaves the following mesage (mentioned at the beginning) in the
event-log:

SideBySide: "Dependent Assembly Microsoft.VC90.DebugCRT could not be
found and Last Error was The referenced assembly is not installed on your
system."

Using ProcessMonitor I found that w3wp.exe looks for
"Microsoft.VC90.DebugCRT" in the "bin\" directory (where it finds it), but
later csrss.exe looks for the same in

"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET
Files\pdfservice.debug\efde1b6a\72378164\assembly\dl3\501563d7\0054d6f7_987dca01\(Microsoft.VC90.DebugCRT\)Microsoft.VC90.DebugCRT.manifest"

where it doesn't find it.

- It seems to me that IIS copies the webservice dll-s to a temporary
directory (see the previous point), but doesn't copy the dependencies as
well, which results in the error. How to get the webservice working? Should
I create a manifest file to tell IIS what are the PdfServiceLib.dll
dependencies??? Or what else?

Thank you,
Martin.
 

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

Members online

Forum statistics

Threads
473,707
Messages
2,569,344
Members
44,635
Latest member
Matt231

Latest Threads

Top