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?
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.
Registering .NET COM Interop assemblies
Started by
ColSnell
, Jul 07 2004 16:51
4 replies to this topic
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
-Stein Åsmul
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.
Stefan Krüger
InstallSite.org twitter facebook
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?
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?
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. |
Stefan Krüger
InstallSite.org twitter facebook