anandcbe14 Posted November 6, 2008 Report Share Posted November 6, 2008 Hi I had a .net 2.0 web app that was using an interop assembly (references chartfx) . This assembly is used in some pages to generate chart images. This was working well when IIS was running in 32 bitmode. Now we are migrating to native 64 bit and are facing issues with these pages that use charting. I get the following error: System.Runtime.InteropServices.COMException (0x80040154): Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type serverType, Boolean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri) at System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(Type serverType) at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(Type serverType, Object[] props, Boolean bNewObj) Is there a way to get this to work for 64 bit ? Quote Link to comment Share on other sites More sharing options...
Frank Posted November 6, 2008 Report Share Posted November 6, 2008 Is your interop assembly compiled for 64-Bits? If you have IIS running in 64-Bits, all of your unmanaged dlls must be in 32-Bits. Managed libraries will work in both 32-Bit and 64-Bit without any changes. Quote Link to comment Share on other sites More sharing options...
anandcbe14 Posted November 6, 2008 Author Report Share Posted November 6, 2008 My interop assembly is compiled for "AnyPlatform". The interop is written to run as a COM+ serviced component and has a reference to the ChartFX Internet 5.5 COM component. Quote Link to comment Share on other sites More sharing options...
Frank Posted November 7, 2008 Report Share Posted November 7, 2008 ChartFX Internet 5.5 COM is 32-Bits only. We have a 64-Bit unmanaged version of Chart FX 6.2. Also, all of our .NET versions can be used in 64-Bits. Quote Link to comment Share on other sites More sharing options...
anandcbe14 Posted November 8, 2008 Author Report Share Posted November 8, 2008 Will this 64-bit unmanaged version (ChartFX 6.2) run under both 32 and 64 bit ? Quote Link to comment Share on other sites More sharing options...
Frank Posted November 8, 2008 Report Share Posted November 8, 2008 No. No unmanaged DLL works on both 32-Bit and 32-Bits. We have 32-Bit and 64-Bit versions of Chart FX 6.2 that share the same codebase. So you can use each one on each environment. More information here: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/13f991a5-45eb-496c-8618-2179c3753bb0.mspx?mfr=true "On 64-bit Windows, 32-bit processes cannot load 64-bit DLLs, and 64-bit processes cannot load 32-bit DLLs. If you plan to run 32-bit applications on 64-bit Windows, you must configure IIS to create 32-bit worker processes" Quote Link to comment Share on other sites More sharing options...
anandcbe14 Posted November 9, 2008 Author Report Share Posted November 9, 2008 Thanks; that was my understanding too. We have a situation where the same app codebase will be deployed to 32bit in some cases and 64 bit in some cases and can't have separate build/deployment procedures. So it now appears that our only option is to move to ChartFX 7. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.