Monday, November 17, 2008

If you are planning to run a 32 bit dll on 64 bit server (and/or using this dll on 64 bit oracle server) you will get error in the procedure (in ORDCOM.CreateObject method)

here is the simplest solution to solve this problem.

  1. Unregister your dll using %windir%\system32\regsvr32.exe\regsvr32 XXXX.dll /u (for all your dlls)
  2. Register you dll using %windir%\syswow64\regsvr32\ XXXX.dll
  3. Open Component Services
  4. Create a new Application under COM+ Applications
  5. Click Next -> Create an Empty Application -> Enter the name -> Select the Activation type, I will leave it as Server Application -> Next -> Finish
  6. Select the application folder you created
  7. Create New Component
  8. Click Next->Install New Components -> Locate your 32 bit dlls folder and select the dll's which you want to add -> Next -> Finish
  9. Now its a good idea to look at the secury options for your component and set then as you desire.
  10. Now close the Component Services
  11. Try accessing the procedure where your compenent is accessed thru ORDCOM CreateObject

Hope this helps.

No comments: