cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
wiggers
Level 7

COM, DLL, GAC and TLB

I have a DLL with COM interfaces that isn't self registering. Its TLB file is used as a reference in Excel. At the moment in InstallShield I have one component to put the DLL in the working folder, one to put the DLL in the GAC and one to put the TLB file in the working folder with a COM Registration property set to its GUID. This all works fine for 32-bit installations but not x64.

In the help notes for COM Registration it says using the Typelib Table is deprecated, but I can't see any other way of doing it. Using the Component Wizard for the DLL doesn't create the correct registration for the Typelib and the Excel Reference seems to need the TLB file.

Any thoughts?
Labels (1)
0 Kudos
(3) Replies
hidenori
Level 17

You might want to try using InstallShield self-registration (ISSelfReg) to register your TLB file. To install 64-bit type library, select Yes for the 64-Bit Component setting of the component that is associated with the file.

For more information, see Self-Registration Methods and Targeting 64-Bit Operating Systems.
0 Kudos
wiggers
Level 7

The DLL is not self-registering. Somehow InstallShield registers it correctly for 32bit installation but not for a 64bit platform.
0 Kudos
wiggers
Level 7

I've managed to get this working now. But every time the dll is revised I have to delete the component for the TLB file and recreate it.
0 Kudos