Click to See Complete Forum and Search --> : Can't register DLL... Why?
serhiy
May 22nd, 2001, 01:27 AM
Goodday everybody...
I wish to ask why when I do a setup/installation on a machine, my DLL (created in VC++) fail to register on that machine. I even try to register it using RegSvr32 command but it still didn't worked.
Hope someone outhere can shade some lights on my problem...
Thanks in advance.
jim mcnamara
May 22nd, 2001, 12:03 PM
Run regsvr32 with no arguments, it will give you command line params.
Try to unregister your dll. Then try regvr32 c:\mydir\my.dll.
If that fils you can resort to downloading regclean.exe from www.zdnet.com --It's from Microsoft and cleans up the registry. If the registry is too large installs fail to register components correctly. The size limit is 64K for Win 9X, NT 4.
parksie
May 22nd, 2001, 12:19 PM
Are you sure it's a COM DLL?
serhiy
May 22nd, 2001, 08:38 PM
I think I manage to solve it. Thanks to both of you.
Anyway, let me explain a little. Firstly, it seems that I can't register the DLL because I create the DLL as a 'debug' version. But when I change it into 'Release MinDependency' version, it works. There seems to be a lot of different versions or configurations that I can set when creating the DLL. Can someone be kind enough to explain to me exactly why it works after I change the version and also the differences between the several versions or configurations?
P.S. Yupe, Parksie. I'm sure it's a COM DLL.
parksie
May 24th, 2001, 04:05 PM
Okay, just checking :)
The Debug DLL expects the debug versions of any support files, and MinDependency packages it all into your DLL. However, it should register on a development machine whatever build you used.
serhiy
May 29th, 2001, 02:54 AM
Thanks Parksie... :)
No wonder I can register on my machine (development machine), but when I try to regrister in another machine, it won't allowed.
What about the rest of the version, such as Unicode, etc? Any idea what's the difference?
parksie
May 29th, 2001, 12:09 PM
Unicode is 16-bit characters rather than 8-bit, which means you can fit most of the alphabets in use into the 65536 characters available. However, this requires NT, so it's provided as an option -- bear in mind that internally COM does everything in Unicode so this will be faster on NT than an ANSI version.
www.unicode.org I think is the site.
serhiy
May 29th, 2001, 09:52 PM
Does this mean that Unicode can only run within NT? What about Windows95 or 98? Will it be able to run within these OS?
What if I want to make this DLL to be able to run in both NT and 95/98 version?
I read a little on the site you provided. It stated that Unicode can run on all platforms. So, why is it that it can only run in NT as stated by you? :???:
parksie
May 30th, 2001, 07:04 AM
No, the site says it runs on most modern OSs. And Win9x is hardly modern... :p
I'm not totally sure about the whole Unicode thing on Win9x, sometimes it works, sometimes it doesn't :confused:
If you definitely want it to work on both, ANSI is probably the best idea. Anyone got any other ideas? I've only ever done COM with NT so I can't say how it'll work on 9x.
serhiy
Jun 1st, 2001, 02:48 AM
Oh I see...
For what I program currently runs in Win9x platform, but I don't foresee the system transfering to NT yet. But you never know, especially with Windows2000 seems to be the future OS. That's why I wanted to make sure that if the system is to be run on other platform, I don't have to recompile the whole thing again.
Like you, I hope others will contribute on this topic too. At least everybody can share their knowledge with the newcomers like me. ;)
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.