How can I use iManage.dll on a 64-bit server?

Options
Having a real headache trying to use iManage.dll on a 64-bit Windows 2008 IIS server.

I'm referencing version 8.5.0.0 of the dll in a .NET v4.0 web application built using Visual Studio 2010.

In my local (32-bit) development environment everything is fine. The dll is used as the basis for a series of classes used by a range of applications, all of which work happily in production on 32-bit Windows IIS servers.

I want to introduce a 64-bit Windows 2008 IIS server though. Existing applications deployed onto this with no changes now throw an "80040154 Class not registered" exception. Worksite API doesn't support 64-bit operating systems, right?

So, I figure I have to have my applications compiled for and run on an x86 platform. Before making a load of changes, I started out by creating a brand new web application, added a reference to iManage.dll and created a simple sub that instantiates a new ManDMS object and added an event to fire it.

Within Visual Studio's configuration manager, I set the active solution platform to x86 and ensured this was reflected in the project context.

I then set the compile platform for the project as 'Active (x86)' and set the Target CPU to x86 in the advanced compiler settings.

On the 64-bit web server, I set the IIS application pool's Enable 32-bit applications setting to True, published my simple application and set it up as an IIS application. Note - Worksite is not installed on the web server at all, and Visual Studio does not publish the dll to the application's 'bin' folder upon compiling.

When I run the application in the browser, I can see a "w3wp.exe *32" process created within the taskmgr, so I figure the application is running in 32-bit emulation mode.

However, as soon as I fire the sub that uses iManage.dll, I get an "80040154 Class not registered" exception, same as before.


Is there something I haven't done, something I'm missing, or am I simply forced to use a 32-bit OS on a webserver to achieve what I need?

Really struggling with this one, so any help would be greatly appreciated!


Cheers,

Jason

Comments

  • The imanage.dll is a com dll, so needs to be registered with Windows using regsvr32 on the server before it can be used.

    There is a 64 bit version of the iManage.dll that comes with the 64-bit version for Worksite web, so this may be an option if you have access. it's com as well, so no matter what you do you'll need to use regsvr32
    (i.e from windows run, type regsvr32 "c:\program files\Autonomy\worksite\web\imanage.dl")
  • Nice one - that's exactly what was missing. The existing x86 production and test servers all had the dll on there and registered in some form or another, but this new x64 host hadn't. Registered it now, and everything's working happily.

    Glad it was a comparatively simple thing in the end - thanks Richard!
TeamSite Developer Resources

  • Docker Automation

  • LiveSite Content Services (LSCS) REST API

  • Single Page Application (SPA) Modules

  • TeamSite Add-ons

If you are interested in gaining full access to the content, you can register for a My Support account here.
image
OpenText CE Products
TeamSite
APIs