Announcement

Collapse
No announcement yet.

Problems with OCX & DLL Registration

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problems with OCX & DLL Registration

    I have sucessfully built and distributed but I am receiving reports about OCX's that for some reason appear to be unregistering themselves. I have tried both automatic registration and also manually registering using the EXECUTE command but still have the same (although very much intermittant) problem.

    Has anyone else had similar problems or does anyone have any ideas on where I should turn next?

    Thanks

  • #2
    Re: Problems with OCX & DLL Registration

    Hi,

    Do you know which OCX is not being registered? Does the OCX have any dependencies? Are you distributing them as well?

    mark.
    MSI Factory The Next Generation Intelligent Setup Builder

    Comment


    • #3
      Re: Problems with OCX & DLL Registration

      The OCX's I was having a problem with I checked all of the dependencies using MS's Dependency Walker. So yes all of the dependents are being distributed as well via me manually adding them or being part of the vb5 and vb6 run times that i have included in the install. The strangest part is that all of the OCX's are working correctly upon initial installation.

      Comment


      • #4
        Re: Problems with OCX & DLL Registration

        Hi,

        So when you program is run the first time everything works properly? But the next time you get an error regarding the OCX files?

        Do you know which operating systems appear to be having this problem? Perhaps you are distributing versions that are incorrect for certain operating systems.

        mark.
        MSI Factory The Next Generation Intelligent Setup Builder

        Comment


        • #5
          registry key permissions

          Hi,

          It seems that the reason is invalid user permissions on registry keys.

          When instaling on XP and 2000 user must have admin privileges. When registering OCX and DLL's for the first time, keys in registry inherit correct user permission rights (that is Everyone Full Access) from the root TypeLib key.
          But next time (specialy when upgrading to new versions of libraries) the same key somehow changes it permission from Everyone to the current user. Worse thing is that Everyone permission is removed from the key so nobody except the current user can access the key. This makes your OCX or DLL appear as not registered and causes attempt to load the library to fail.

          The funny thing is that it sometimes happens and sometimes not. Perhaps it has to do something with the way SF registers the DLL's or it may be some Windows registry bug...I have noticed that it happens more often with VB based DLL's than DELPHY ones.

          Solution is to find the blocked key using RegMon then log as admin, go to that key and manualy set its rights to Everyone Full Access. This is dull solution but is the only one I found.

          Still searching for the reason....

          Comment

          Working...
          X