C Board  

Go Back   C Board > General Programming Boards > C++ Programming

Reply
 
LinkBack Thread Tools Display Modes
Old 06-10-2008, 10:01 AM   #1
Registered User
 
Join Date: Jan 2008
Posts: 18
Question Program Deployment and DLL/OCX Files?

I made a program in Borland C++ Builder 6 and the program uses a ActiveX control (VTChart). The program works fine on computers with Borland installed, however; not on other machines. I receive the message, "Class not registered." I believe this is caused by the required DLL/OCX files not being installed.

I have looked through the help file for the VTChart and found a list of dependencies.
The help files says that the items in the first list need to be in the Windows System directory. The second list of files, the help doc claims, were installed and registered by Borland.
  • List 1
  • VCFI32.OCX
  • VCFI32WZ.DLL
  • List 2
  • OC30.DLL
  • MFCANS32.DLL
  • MSVCRT20.DLL


So here is my problem. I copied the files listed and brought them along with my exe to see if I could make it work. I thought that I would be able to put the first list of files in C:\Windows\system32 and then use regsvr32 on the second list of files.

However, when I try to register these files, only the first one will register. The other two give me the message, "[DLL Path & Name] was loaded, but the DllRegisterServer entry point was not found."

Am I doing something wrong? Anyone have any ideas.

Please let me know if I have been unclear or if there more I can post!

Thanks in advance.
dfghjk is offline   Reply With Quote
Old 06-10-2008, 05:21 PM   #2
Registered User
 
Codeplug's Avatar
 
Join Date: Mar 2003
Posts: 3,844
>> only the first one will register
That's ok. regsvr32 is for registering any COM objects that a binary file exposes. Not all DLL's (or binary files) expose COM objects.

Personally, I wouldn't put any of those files in the windows system directory - especially if they already exist. I would put them all in your program directory. I would also run regsvr32 on the first list of files as well.

gg
Codeplug is offline   Reply With Quote
Old 06-12-2008, 08:09 AM   #3
Registered User
 
Join Date: Jan 2008
Posts: 18
Thanks for the tip.

I finally figured it out. What I did was I went to http://www.dependencywalker.com/ and downloaded their program. I had found that I only needed to register the VCFI32.OCX file. I ran that file through the program I downloaded and it told me what other DLLs I needed (OC30.DLL, DWMAPI.DLL, MFCANS32.DLL, VCFIDL32.DLL). So the help file I have was wrong. I collected those DLLs and threw them all in the program directory and registered the one that was needed and it all worked.

Thanks for the help!

Last edited by dfghjk; 06-12-2008 at 08:10 AM. Reason: typos
dfghjk is offline   Reply With Quote
Old 06-12-2008, 09:21 AM   #4
Senior software engineer
 
brewbuck's Avatar
 
Join Date: Mar 2007
Location: Portland, OR
Posts: 5,381
Make a real installer...
brewbuck is offline   Reply With Quote
Old 06-15-2008, 10:14 AM   #5
Registered User
 
Join Date: Jan 2008
Posts: 18
I have a real installer and I was using it. The problem was not with the installer, but that I did not know what files I needed to include with it. The help file for the component that had dependencies was incorrect in the listing of the files that it said I needed.

I was using regsvr32 while I was trying to figure out the problem. I knew that once I got it to work with that, I would be able to use the installer as well.

BTW, the installer is Inno Setup.
dfghjk is offline   Reply With Quote
Old 06-16-2008, 02:47 AM   #6
Mysterious C++ User
 
Join Date: Oct 2007
Posts: 14,099
Doesn't Borland have some type of runtime? Then you should take the runtime installer and deploy it on the target machine instead of picking out individual dlls.
__________________
Using: Microsoft Windows™ 7 Professional (x64), Microsoft Visual Studio™ 2008 Team System
I dedicated my life to helping others. This is only a small sample of what they said:
"Thanks Elysia. You're a programming master! How the hell do you know every thing?"
Quoted... at least once.
Quote:
Originally Posted by cpjust
If C++ is 2 steps forward from C, then I'd say Java is 1 step forward and 2 steps back.
Elysia is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Forum Jump


All times are GMT -6. The time now is 11:42 PM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0 RC2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22