Installing IIS webservice on a 64-bit system

Discussion in 'ASP .Net Web Services' started by Martin Plechsmid, Apr 20, 2010.

  1. 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.
     
    Martin Plechsmid, Apr 20, 2010
    #1
    1. Advertisements

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 (here). After that, you can post your question and our members will help you out.