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

COM object registration failure


6 replies to this topic

Rob Millray

Rob Millray
  • Members
  • 14 posts

Posted 20 August 2001 - 10:27

I am using the windows installer to create an MSI that contains two COM objects plus dll's, OCX's etc. I have set the register property for both COM objects to None and have created an entry for both using the associations editor under the COM section and the type lib section. Both sets of CLSID and LidID's are correct according to the Visual Studio OLE View.
The install set builds and runs fine but when I try to use one of the COM objects it fails with an "ActiveX component can't create object" - the other works fine.
Being new to the windows installer I suspect I am doing something obviously wrong but I can't spot it myself. Does anyone have any ideas or suggestions of things I could try? Any help would be much appreciated because I'm running out of time now, thanks.

Scott Williams

Scott Williams
  • Members
  • 38 posts

Posted 20 August 2001 - 14:42

There are 3 Tables you must author for a COM component.  The `Class`, `ProgId`, and `TypeLib` tables.  It looks like you may have only done two of them.

Depending on your situation, you may want to use the SelfReg table.


Rob Millray

Rob Millray
  • Members
  • 14 posts

Posted 20 August 2001 - 15:32

Thanks - added an entry into the ProgID table and that appears to have resolved the problem. Can this table be maintained from within the windows installer environment?

Scott Williams

Scott Williams
  • Members
  • 38 posts

Posted 20 August 2001 - 19:09

I'm not exactly sure what you mean by "maintained from within the windows installer environment".

I am using these tables, but I am also using the srm utility found on this site (forget exacty where), this produces a .reg file, that I then parse out to create my table entries for all COM components I need.  I'm authoring the tables through the automation objects from a VB program.  I also have a config file that tells me what file name to use and has the CompId (a GUID) stored so that I can resue it for the Windows Installer Compoent.  Ugh, I wish they had used a different name, the terminology gets kind of confusing when you start to talk about COM Compoents and just WI components.


Rob Millray

Rob Millray
  • Members
  • 14 posts

Posted 21 August 2001 - 09:22

The windows installer plugs itself into the MS Visual Studio environment and gives you a reasonable front end but I couldn't find any obvious way of getting an entry into the ProgID table. I used Orca to add the entry and that seemed to work - I just wonder what else is not getting added though. Might try the srm utility and see how I get on with that - Cheers

Scott Williams

Scott Williams
  • Members
  • 38 posts

Posted 21 August 2001 - 15:55

Ahh, ok.  The Visual Stuido Installer (VSI) is very simplistic in what you can and can't do.  I use it for two things at this point.  To create a quick and dirty install of a single VB program (usually a utility to use in house), or just to have it pick up the dependinces of programs so that I can properly add those into the 'real install'.

You are pretty much looking at using ORCA to modifiy those tables.