cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
repins
Level 3

COM Interop typelib entries

It seems a change was made to put typelib entries into the registry table instead of the typelib table of the MSI database. This is fine (or at least should be) because I see that the registry table does contain all the necessary typelibs associated with the COM Interop assemblies that I'm trying to install (as well as some VB6 ones). Anyway, the problem after install, even though the components that are associated with those typelib entries are installed (as are entries for the classes and interfaces which in fact do show up after install in the registry), not a single one of the typelib entries appears in the registry.

So what's going on with this? I can't imagine it's something to do with what I've done to register for COM Interop seeing as the entries are there in the registry table. I'm a total loss for what to do. Is there any reason why entries in the registry table wouldn't be installed along with the associated component?

FYI, I have been trying to use the SAB, but obviously this has not worked. I'm now attempting to build in the IDE using the workaround to force it back to using the typelib table (but even if it works, I find it an unacceptable solution as I would prefer the system to work without a workaround).
Labels (1)
0 Kudos
(2) Replies
Christopher_Pai
Level 16

Was the install on a clean machine? Take a look at the logfile, did those components in fact get installed?
0 Kudos
repins
Level 3

It was a fairly clean machine 😉 (meaning it had previous installs of an older version that had been uninstalled) with no entries there in the typelib regkey. While I didn't look at the log file, the files for those components and all other associated registry keys of the component were being created/installed, so presumably that means the component was in fact being installed (if not, how'd those other things get on there when they weren't there before the install).

In any case, around 4 AM (after much frustration and in serious need of sleep) I found that a file was actually missing from my installation package. I added this file, and installed again (without using the flag to have the typelib table populated in the MSI file). Now, all the registry keys are appearing after install and my application works (which is expected given the typelib values are now showing). I can't say what really happened though, because the missing file is not a dependency of any of the dlls or COM Interop assemblies that were being installed so I have no idea how it suddenly started creating the typelib keys on install. I had tried repackaging at least a dozen times with no success prior to including this file so something happened after including it...at least it's working ;).

Thanks for the response Chris.
0 Kudos