Questions about some TypeLib Entries
So ive been packaging for a while, but really just repackaging and some simple RIP's. Recently ive been tasked with trying to get into some more serious so Im trying to read around and get some info. I have to package Bloomberg into an MSI, ive done it multiple ways in Wise but all have come up less the satisfactory, lots of DLL errors.
Now when I package it into a RIP with the Altiris tools it works fine, i convert that into an msi and it deploys perfect, so far.
I started poking around in the tables to see what was getting registered and it looks like the RIP->MSI has no entries in the typelib table while the Wise has about 15 or so. My question basically is, what exactly are these entries for, and what is best practice regarding them?
Now when I package it into a RIP with the Altiris tools it works fine, i convert that into an msi and it deploys perfect, so far.
I started poking around in the tables to see what was getting registered and it looks like the RIP->MSI has no entries in the typelib table while the Wise has about 15 or so. My question basically is, what exactly are these entries for, and what is best practice regarding them?
0 Comments
[ + ] Show comments
Answers (6)
Please log in to answer
Posted by:
kkaminsk
16 years ago
The typelib table is to facilitate Windows Installer advertising for on demand installation and self healing. Wise has the option in setup capture to retain the advertising info and leave the registry edits as is. This is a nice compromise because we used to configure Wise to not use the advertising tables because of the issue you are seeing where it cannot perform a proper installation.
Posted by:
Kungfus0n
16 years ago
Posted by:
kkaminsk
16 years ago
Posted by:
Kungfus0n
16 years ago
Posted by:
jmcfadyen
16 years ago
a typelib is actually used to used to expose the methods and properties of a Class.
Where a class is an object which contains methods and properties in a programming context.
the typelib table has a little more functionality than described earlier. It actually deploy's type libraries which are used by other applications to expose the methods and properties.
Typelibs can be deployed via the registry and typelib table the latter as explainer earlier ALSO adds advertising that specific typelib for self healing and install on demand.
the basic rundown of the registry info is this
progid is a friendly name which maps to a classID (much like how DNS maps to an IP)
a class id has a GUID which relates to the Class (code)
the classid will have an inprocserver32 or localserver child value which contains the path to a dll
so progid --> classid --> inproc --> dll path
the classid may also map to APPID and TYPELIB however these are not required but give additional functionality
APPID handle permissions on COM and DCOM objects.
this is the basic short version, I will be publishing a long version of this next week drop me a line later in the week to remind me and I will send you the link.
Where a class is an object which contains methods and properties in a programming context.
the typelib table has a little more functionality than described earlier. It actually deploy's type libraries which are used by other applications to expose the methods and properties.
Typelibs can be deployed via the registry and typelib table the latter as explainer earlier ALSO adds advertising that specific typelib for self healing and install on demand.
the basic rundown of the registry info is this
progid is a friendly name which maps to a classID (much like how DNS maps to an IP)
a class id has a GUID which relates to the Class (code)
the classid will have an inprocserver32 or localserver child value which contains the path to a dll
so progid --> classid --> inproc --> dll path
the classid may also map to APPID and TYPELIB however these are not required but give additional functionality
APPID handle permissions on COM and DCOM objects.
this is the basic short version, I will be publishing a long version of this next week drop me a line later in the week to remind me and I will send you the link.
Posted by:
anonymous_9363
16 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.