Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Registering .NET COM Interop assemblies


4 replies to this topic

ColSnell

ColSnell
  • Members
  • 11 posts

Posted 07 July 2004 - 16:51

When installing a .NET COM Interop assembly both InstallShield 8 and InstallAnywhere.NET but the CLSID and ProgID registry info in the registry table rather than the appropriate Class and ProgID tables. This brings up ICE33 warning messages when you validate the package.

Does anyone know if this is the correct way to register COM Interop assemblies?
Colin Snelling

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 08 July 2004 - 09:11

Never tried this. I assume there is still self-register code in this interop COM dll? If there is, maybe there is something wrong with this script inside the dll?
Regards
-Stein Åsmul

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 08 July 2004 - 15:04

It is recommended that COM Interop data should be stored in the Registry table, not in the Class table. This is a requirement for assembly updates.

TonyLowrey

TonyLowrey
  • Members
  • 15 posts

Posted 01 February 2006 - 18:13

Stefan, you say that it is a requirement that COM Interop data is stored only in the registry table rather than the other COM registry tables; Class, ProgID etc. Can you elaborate? I cannot find any mention of this on a search of the net.

I have a collection of COM, Interop and .NET DLLs which I scan at build using InstallShield 11 and some seem to create the correct reg entries for the DLLs and others don't. There are many ICE33 warnings on the registry table for those registry settings which should be in the Class or ProgId areas. However, some of the DLLs do have entries in the Class and ProgId tables. IS seems to have decided that some DLLs will populate the Registry table with Class and ProgId entries and some not. Do you have any of your words of wisdom for me?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 02 February 2006 - 15:02

It's documented here: http://msdn.microsof...o_a_package.asp
QUOTE
The following guidelines apply to Win32 assemblies, and assemblies that the common language runtime of the Microsoft® .NET Framework uses. ... Use the Registry table instead of the Class table when you register COM Interop for an assembly.