Gmail Calendar Documents Web Reader more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Message from discussion Typelib Version Mess
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Tony Proctor  
View profile  
 More options Mar 29 2006, 10:22 am
Newsgroups: microsoft.public.vb.com
From: "Tony Proctor" <tony_proctor@aimtechnology_NoMoreSPAM_.com>
Date: Wed, 29 Mar 2006 10:22:25 +0100
Local: Wed, Mar 29 2006 10:22 am
Subject: Typelib Version Mess
Does anyone have any background info on why VB handles Typelib versions in
hex format? I'm developing a specialised in-house version of RegClean but
I'm finding this area to be a complete mess.

Here's what I've deduced so far...

1) The actual Typelib file holds a decimal-format version. Hence TLBINF
always delivers decimal versions in the MajorVersion and MinorVersion
properties
2) Most components register themselves under HKEY_CLASSES_ROOT\Typelib with
a decimal-format Typelib version (e.g. 12.0), whereas VB creates Typelib
entries with a hex format version (e.g. a.0)
3) The VBP project files _always_ specify hex format versions in their
Reference= and Object= lines, even for non-VB libraries. For instance,
CDO.dll (here) has a version of decimal version 1.21 but VBP files reference
it with a version of 1.15 (&H15=21).
4) The HKEY_CLASSES_ROOT\Interface registry entries reference the Typelib
version as stored under HKEY_CLASSES_ROOT\Typelib. For instance, hex-format
if the component is a VB one, and decimal otherwise. This makes matching
them up easy
5) The HKEY_CLASSES_ROOT\CLSID registry entries reference the Typelib
version as decimal. Hence, I need some psychic power to be able to relate
their versions to a HKEY_CLASSES_ROOT\Typelib version unless I know whether
they relate to a VB component or not.

If you know whether a component was built with VB or something else, or you
still have the Typelib file on disk, then all things are possible. However,
a "RegClean" type tool is trying to make sense of orphaned ActixeX registry
entries and I can't see any reliable approach. I did wonder how the public
RegClean.exe copes, but then I'm aware that it doesn't clean up a lot of
stuff that it should. Maybe this issue is the reason.

        Tony Proctor


    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2010 Google