Forums & Blog

A SmarterTools-sponsored community.
Welcome to Forums & Blog Sign in | Join | Help
in Search

Error using Merak Converter to SmarterMail 5.x

Last post 07-18-2008 3:30 PM by ST-JLance. 1 replies.
Page 1 of 1 (2 items)
Sort Posts: Previous Next
  • 07-18-2008 4:30 AM

    Error using Merak Converter to SmarterMail 5.x

    When using the Merak Converter Utiltiy, I cannot get past the page that asks for the location of tool.exe.  In my case, the OS is Windows Server 2003 x64, so the location is C:\Program Files (x86)\Merak\tool.exe.  When selecting this location and hiting continue, the following exception occurs:

    System.Runtime.InteropServices.COMException was unhandled
      Message="Retrieving the COM class factory for component with CLSID {DA5FB50D-5C7B-44C8-869F-1418BF7FACFF} failed due to the following error: 80040154."
      Source="mscorlib"
      ErrorCode=-2147221164
      StackTrace:
           at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
           at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
           at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
           at System.Activator.CreateInstance(Type type, Boolean nonPublic)
           at MerakConverter.ToolInterface.InitMerak(String path) in C:\Documents and Settings\Administrator\Desktop\MerakConverter\MerakConverter\ToolInterface.cs:line 43
           at MerakConverter.WizardPages.wizImport.DoValidate() in C:\Documents and Settings\Administrator\Desktop\MerakConverter\MerakConverter\WizardPages\wizImport.cs:line 86
           at MerakConverter.frmMain.MoveNext(Boolean validate, Boolean finish) in C:\Documents and Settings\Administrator\Desktop\MerakConverter\MerakConverter\frmMain.cs:line 147
           at MerakConverter.frmMain.NextButton_Click(Object sender, EventArgs e) in C:\Documents and Settings\Administrator\Desktop\MerakConverter\MerakConverter\frmMain.cs:line 184
           at System.Windows.Forms.Control.OnClick(EventArgs e)
           at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
           at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
           at System.Windows.Forms.Control.WndProc(Message& m)
           at System.Windows.Forms.ButtonBase.WndProc(Message& m)
           at System.Windows.Forms.Button.WndProc(Message& m)
           at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
           at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
           at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
           at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
           at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
           at MerakConverter.Program.Main() in C:\Documents and Settings\Administrator\Desktop\MerakConverter\MerakConverter\Program.cs:line 41
           at System.AppDomain._nExecuteAssembly(Assembly assembly, String[ args)
           at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
           at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
           at System.Threading.ThreadHelper.ThreadStart()
      InnerException:

     

     

    I even installed Visual C# express on the server, and stepped through the source code.  The error happens within this method within ToolInterface.cs:

     

    ublic static bool InitMerak(string path)
            {
                MerakType = Type.GetTypeFromProgID("MerakCOM.APIObject");
                Merak = Activator.CreateInstance(MerakType);
                if (Merak == null)
                    throw new Exception("Unable to Activate MerakCOM.APIObject!");
                object retVal = MerakType.InvokeMember("Init", System.Reflection.BindingFlags.InvokeMethod, null, Merak, new object[ { path });

                return (bool)retVal;
            }

     

    I used regedit to try and find  the CLSID with a value of {DA5FB50D-5C7B-44C8-869F-1418BF7FACFF} , but it didnt exist anywhere in HKCR.  I checked for rogue copies of API.DLL in system 32, and found none.  I also successfully re-registered api.dll from the merak directory, but that didnt do anything.

     I even tried installing 3 different versions of Merak (8.9, 9.1, 9.2) but nothing has helped.  What could be the problem here?

  • 07-18-2008 3:30 PM In reply to

    Re: Error using Merak Converter to SmarterMail 5.x

     I believe it is an issue with the Merak Converter running as 64 bit trying to load a 32 bit COM object. If you have visual C#, try compiling the source code to run in x86 mode rather than x64. You can do this by selecting the properties of the project and going to the Build tab. For Platform target, select x86.

    James Lance
    SmarterTools
Page 1 of 1 (2 items)