Solved

DllRegisterServer failure

Posted on 1998-09-01
6
219 Views
Last Modified: 2008-01-16
I have written an OCX in Visual Basic (VB5).  The OCX installs and executes properly on most computers, both Win95 and WinNT.  However, on some systems, we get the error message "DllRegisterServer in (OCX name)failed," and the OCX does not register.  There is no error number or additional information with this error.  I suspect that the systems on which the register fails are missing some DLL that the OCX needs to execute, but I can't identify any missing components.
Does anyone have any suggestions as to what is causing this failure, and how to fix it?
Thank you
Jim Grant
0
Comment
Question by:jlgrant
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
6 Comments
 
LVL 15

Expert Comment

by:Tommy Hui
ID: 1432368
You're probably missing a DLL. Go to http://www.slip.net/~thui and go to the shareware section. Get DLLLook and use it to find out which DLLs your OCX requires. Use it on the tstcon32.exe application. Then make sure each of the other machines have those DLLs.
0
 

Author Comment

by:jlgrant
ID: 1432369
What is the tstcon32.exe application?
0
 

Author Comment

by:jlgrant
ID: 1432370
I followed the above suggestion.  DLLLook indicated that the following DLL's are used by the OCX:

         OLEAUT32.dll
         ole32.dll
         ADVAPI32.dll
         GDI32.dll
         USER32.dll
         KERNEL32.dll
         MSVBVM50.DLL
         WINSPOOL.DRV

All of these DLL's are on at least one system where the installation fails.

Any more suggestions.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:jlgrant
ID: 1432371
I followed the above suggestion.  DLLLook indicated that the following DLL's are used by the OCX:

         OLEAUT32.dll
         ole32.dll
         ADVAPI32.dll
         GDI32.dll
         USER32.dll
         KERNEL32.dll
         MSVBVM50.DLL
         WINSPOOL.DRV

All of these DLL's are on at least one system where the installation fails.

Any more suggestions.

0
 

Author Comment

by:jlgrant
ID: 1432372
This suggestion didn't locate the problem.  The DLL's DLLLook indicated were necessary to execute were present on at least one system where registration failed.
0
 
LVL 1

Accepted Solution

by:
mithomas earned 200 total points
ID: 1432373
Try this as a long shot:

There is more than one version of regsvr32 floating around.  There were AT LEAST TWO on my last major development effort.  Sometimes, using the "wrong" version of regsvr32 can cause the problem.

Compare the date/time info and version info of regsvr32 (right click on the .exe and look at the version tab) on the problem machines and "good" machines.  Ensure that the problem machines are using the same regsvr32 that the "good" machines are using.  Also, do a find for regsvr32 and ensure that there's only one copy of it, and that it matches the machine on which installations work.

Good luck...
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question