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 dlls are not being registered


3 replies to this topic

Usman Javaid

Usman Javaid
  • Members
  • 15 posts

Posted 09 October 2006 - 06:47

I have several DLL's and EXE's (All are COM Servers) in the setup. When I used "Self-Register" file option all are get registered properly.

But when I came to know that it is not the recommended way (as described in SETUP BEST PRACTICES) then I switch to "Extract COM info at build option". It made each component's key file, also it shows the COM info in the Components "COM Registeration" settings under "Advanced Settings". Also the build log shows that it extract COM info...But when I launch the application it failed to run properly.

Then I register the files manualy using Regserver. The application launched properly. Can anyone let me know whats going wrong.

Waiting for your prompt reply...

Regards,

Usman Javaid
Sr. SCM Engineer
SENSYS Inc.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 09 October 2006 - 12:58

There can be several causes for this. Firstly: are you using COM extract on every build or just extracting once? If you are using COM extract in every build you need to make sure that any dependencies between COM servers is accounted for. In other words, if A.dll depends on B.dll being registered first, then COM extract for A.dll will not be complete unless B.dll is registered.

There are also other causes such as errors in COM registration scripts used for the COM file, and in some cases developers put actual code that does initialization in the self reg code (this is obviously wrong design, but it happens).
Regards
-Stein Åsmul

Usman Javaid

Usman Javaid
  • Members
  • 15 posts

Posted 10 October 2006 - 05:10

I am using COM extract at every build, the reason is obvious that Interfaces are changed so often.

About your second point of dependancy, yes the dependency exists among the files. How could I define the dependancy?

To give you an idea of my setup I will provide you some brief info
Setup contains COM EXEs and DLLs that will be transfered to Product's Bin folder and these files needs to be registered as well.
There are some other generic files that needs to be transfered to SYSTEM folder of OS. They are also supposed to be registered. Bin files are dependant on these files.

What I thought is setup first registers the BIN files and then go to the SYSTEM files... thats why dependency not handled properly?

If this is the reason then what Next I would do? or what else is the case...

Waiting for your prompt reply

Regards,

Usman Javaid
Sr. SCM Engineer
SENSYS Inc.



Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 10 October 2006 - 11:53

The first thing I would try is to manually register all DLLs and then run the setup compile. This is not normally good advice, but I think it should work in your case.
Regards
-Stein Åsmul