[Resolved] DllRegisterServer 0x80020009 error

Summary

  • Platform: Windows 7 Ultimate 64 bit, SP1.
  • Problem:  Certain .dll and .ocx files were not registering upon the installation of 3rd party software ( in this case it was KennelSuite IX from http://www.planesoftware.com/ ). This was causing the installation to fail.
  • Resolution: Restored system security settings to a known state by using the command:  secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose.
Full Solution

Today’s issue concerns a client who was trying to install a 3rd party application by the name of KennelSuite IX from http://www.planesoftware.com/. This software is used for management at pet care facilities. The client was a pet store owner, so it was pretty obvious he would have a need for this software.
Several minutes into the installation of said software, it would fail with a 1904 error that tishare8.dll failed to register.
tishare8.dll failed to register.

Upon clicking the OK button, the same error popped up, but this time with the c1sizer.ocx file. This happend a further 6 times on the following files: ticaldr8.ocx, tiholy8.dll, tidate8.ocx, xadb8.ocx, todgub8.dll, and IsLicense30.dll

Now these were all 32 bit files to be sure, as they were being copied to the C:\Windows\SysWOW64 folder, the location for 32 bit dll and associated files on a 64 bit system.
I looked at the system properties for these files, and everything seemed to be in order, they had a valid digital certificate, and there were no problems with the security permissions.
I tried to manually register one of the files with the regsvr32.exe command, but as soon as I pressed Enter, an error box popped up as shown below.
Error 0x80020009

The ticaldr8.ocx file failed to register with error code 0X80020009, indicating the the module was loaded, but the call to DllRegisterServer failed. The only information about this error according to this Microsoft KB article was this: DllRegisterServer (or DllUnregisterServer)in Dllname failed. Return code was: string

Hmmm, well that didn’t help me a whole lot. and in fact, there is not much useful information out there on this particular error. There was some advice to run the command prompt as Administrator, and then register the files, that was exactly what I was already doing with the same result.
I even copied the files to the System32 directory and tried to register them from there,  the same problem happened.
I was starting to be pressed for time on this particular issue, could it be permissions related?
I found this Microsoft KB article which explains how to reset security permissions to a known working state.
And on that page is a command for resetting the file and registry permissions for Vista machines and upwards, the command is  secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose

There was a disclaimer that the command may not work correctly,
and it could cause the system to become unstable, but I was pressed for time, therefore I went ahead with it.

Using the secedit command to reset file and registry permissions.

And what do you know? It worked! After the secedit command completed, I was able to register the .dll and .ocx files.

c1sizer.ocx successfully registered

This time the installation of KennelSuite IX completed successfully.

Successful installation of KennelSuite IX
Conclusion

Sometimes system-wide issues manifest themselves when performing a particular task such as installing a program, in cases such as these it helps to narrow down the cause by manually reproducing the issue. Also use intuition, and don’t be afraid to try things, but just remember to not do any damage, and if it is done, always reverse the damage done.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: