|
-
Oct 6th, 2004, 08:14 AM
#1
Thread Starter
Junior Member
unregistering dll's
i was reading a post in reference to proper dll management. If i understood the post properly... everytime a dll needs to be re-registered, it should be unregistered first, then registered. If the unregister process is skipped, the registry will eventually become bloated. Is this the case?
SS - Mtl
-
Oct 6th, 2004, 12:42 PM
#2
This is only true if the CLSID changes which only happens when you change the interface of the object and then re-compile the ActiveX DLL.
To re-cap:
Starting with an ActiveX DLL version 1.0, Register the DLL.
Now the developer wishes to change the public interface on the object, and call it version 1.1. In this case do NOT simply register the new DLL, cause you will be left with 2 registry entries, 1 for v1.0 and 1 for v1.1.
Instead, Un-register v1.0, delete v1.0, then register v1.1.
Thats all I meant. Make more sense?
-
Oct 6th, 2004, 12:46 PM
#3
Lively Member
But if the developer is smart enough to have turned on binary comaptibility, then it would always get the same classid and not cause reg bloat.
-
Oct 6th, 2004, 01:01 PM
#4
Originally posted by TalonSoftware
But if the developer is smart enough to have turned on binary comaptibility, then it would always get the same classid and not cause reg bloat.
Step 1, read this:
http://www.vbforums.com/showthread.p...hreadid=306375
No, this is not true always and forevermore. Even if you have Binary Compatibility turned on, you can still "break compatibility" by changing the interface of that object, which forces you to change your CLSID.
-
Oct 6th, 2004, 01:08 PM
#5
Lively Member
Originally posted by Dave Sell
Step 1, read this:
http://www.vbforums.com/showthread.p...hreadid=306375
No, this is not true always and forevermore. Even if you have Binary Compatibility turned on, you can still "break compatibility" by changing the interface of that object, which forces you to change your CLSID.
I sit corrected. I probably should have stated, if binary compatibility is turned on and maintained then there shouldn't be a problem. But, yes it's true, there are times when it simply cannot be helped. We try to avoid doing that at all costs. If we need to break it, we actualy end up extending it and adding a 2 (or 3 or what ever iteration it is) to the end of the function/method/proc name. This ensures that older code calling will still work with the old interface, but newer code uses the new interface.
-
Oct 6th, 2004, 02:32 PM
#6
Thread Starter
Junior Member
basically, until the CLSID changes, i can register the dll as many times as i want without having to unregister the dll first?
-
Oct 6th, 2004, 02:34 PM
#7
Correct. Those actions will not create multiple registry entries.
-
Oct 6th, 2004, 02:49 PM
#8
Dont want to intrude, but since we are talking about dlls, I had
a related question. I wanted to know when you are registering a
dll using regsrv32 dllname.dll, what does the error
message "Library Loaded, but entry point not found" mean?
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
Oct 6th, 2004, 02:53 PM
#9
AFAIK, you get that from trying to register a DLL that is not an activeX DLL:
http://support.microsoft.com/default...b;en-us;249873
-
Oct 6th, 2004, 03:13 PM
#10
Thanks Dave. Actually it is a ActiveX dll from CR 8.5 I am getting
a few errors when I am registering a few of the CR dlls on
another system. The error:
Dllname was loaded, but the DllRegisterServer or DllUnregisterServer
entry point was not found.
Dllname may not be exported, or a corrupted version of Dllname
may be in memory. Consider using Pview to detect the file and
remove it.
Also another error I get on another dll is:
LoadLibrary("Dllname") failed. GetlastError returns 0x00000485
From Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND),
which means "One of the library files needed to run this
application cannot be found." For example, typing regsvr32
missing.dll returns this error message if the Missing.dll file is not
found
But the file is there and spelled correctly.
Anyways thanks for the link. I will send it to my work email so I
will have it when I go back to work. (I am out "sick" today).
Thanks again.
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|