3 Replies Latest reply on Dec 18, 2015 12:03 PM by vpatel_eshow

    An exception occurred when instantiating a COM object.

    aknbad23

      An exception occurred when instantiating a COM object.

      The cause of this exception was that: AutomationException: 0x80040154 - Class not registered.


      I get this error when trying to use an old 32bit  .dll.

      My company has moved from CFMX on Win 2003 to CF10 (64Bit) on Win2008 R2 (64bit). Is there something I can do to get this to work? The .dll has been registered in windows.

        • 1. Re: An exception occurred when instantiating a COM object.
          haxtbh Level 4

          How did you register the dll file? You may have used the 64bit regsrv32 to register the 32bit one which means it wont have actually registered.

          • 2. Re: An exception occurred when instantiating a COM object.
            aknbad23 Level 1

            Thanks for your reply haxtbh. Yes. I believe I used regsrv32 to register it. It lives in the SYSWOW64 folder. Also when I search for it in the registry I find it in HKey_Classes_Root\Wow6432Node\CLSID\[GUID].

             

            This throws the error:

            oSynApp = CreateObject("COM", "SynAppObj.SynApp");


            But if I call it from command line in Coldfusion (CF-->Command Line-->VBScript-->Command Line-->CF)


            <cfexecute name = "C:\Windows\SysWOW64\CScript.exe"

                  arguments = "E:\WEB\SYNSHARE\BFEncrypt.vbs #arguments.ccnum#"

                  variable = "data"

                  timeout = "100">

            </cfexecute>

             

            VBS looks like this:

            Dim obj

            Dim ccnum

            Dim foo

             

             

            Set obj = CreateObject("SynAppObj.SynApp")

            Set objFSO=CreateObject("Scripting.FileSystemObject")

             

             

            ccnum = wscript.arguments(0)

            foo = Obj.BFEncryptHex(ccnum)

             

            stdout.WriteLine "."

             

            Wscript.Echo foo

             

             

            I'm able to access one of its simple encryption functions this way. But some of its other functions are more complicated. I need to used createobject "COM"

            Any ideas? Seems to me like CF is the culprit here. Help

            • 3. Re: An exception occurred when instantiating a COM object.
              vpatel_eshow

              Hi there, so I've been battling this issue for a few months myself and went back and forth with adobe support who refused to believe it was an installation issue and therefore required a support contract. Since I wasnt going to buy one, I did a lot of experimentation and finally found the fix.

               

               

              The solution was after installing CF, you MUST apply the mandatory update, and then MUST download Hotfix11 and manuallyinstall it before installing any other updates.

               

              I'm pretty sure its an issue with the actual installer since Hotfix 11 doesn't appear as available when you install, but it also seems like there is a problem with all the later hotfixes since if you install for example hotfix18 without installing hotfix11 it still doesnt work.

               

              According to adobe the hotfixes are cumulative but 11 doesnt seem to be in the mix.

               

              I've tried this out over and over on clean cf10 installs and it seems to hold true. One thing that sucks though is you will have to uninstall all hotfixes after 11 before you can run the manual installer.

               

              Sent an email to the support rep who refused to help me because I didnt have a support contract, so that hopefully they can solve this issue with their current hotfixes and downloadable installers.

               

              Vishal