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

Registry entries acquired for COM components.


4 replies to this topic

vrathod

vrathod
  • Full Members
  • 3 posts

Posted 09 February 2009 - 13:34

I am maintaining an installshield based MSI installer project. Recently I updated it to install one more XYZ.dll file. It works fine.

The only problem is that build log has diff.
> New Registry Entries (12) dynamically acquired for component ABC.dll
> New Registry Entries (14) dynamically acquired for component DEF.dll
---
< New Registry Entries (7) dynamically acquired for component ABC.dll
< New Registry Entries (9) dynamically acquired for component DEF.dll

The added component does not have any links with these dlls.

I tried to run RegSpy2 on XYZ.dll, it says "DllRegisterServer Not Exported".
This means it should not disturb any COM component.

Can somebody help me find why this happens?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 09 February 2009 - 16:02

Does the same happen if you don't add xyz.dll? Maybe ABC.dll and DEF.dll are set to extract COM data at build?

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 09 February 2009 - 22:44

Hi vrathod, the only real way to determine what is different here is to compare the old and the new MSI. The dll's are certainly set to com extract at build seeing as it says "entries dynamically acquired".

There are a number of things that can go wrong with the extraction. Just a few questions first to narrow things down:

1: Are you using the same build computer as before?
2: If you are using the same computer as before, has it recently been updated (to Vista) ?
3: Are ABC.dll and DEF.dll old files or were they too recompiled for the new release? (if so the developers could have changed the interfaces)
4: When you look at the components for ABC.dll and DEF.dll in Installshield, are there any registry entries already in the component? (should be since they are set to extract at build, but there could be)
5: Did you try to do dependency walker on the files to determine that all dependencies are present?
6: Is the product multi-lingual with any satelite resource dll's for different languages? If so have you set the same language as before as standard before building?
Regards
-Stein Åsmul

vrathod

vrathod
  • Full Members
  • 3 posts

Posted 10 February 2009 - 14:25

Hi Glytzhkof,
Thanks for your reply. Here are the answers to your questions.

1: Yes I am using the same build computer as before?

2: No upgrade has been performed on the build machine.

3: Yes ABC.dll and DEF.dll are recompiled. However they export the same interfaces as older versions of dlls.

4: No there aren't any registry entries in the component. Your observation regarding COM extract is right, we are doing it at build time.
Our build process is as follows.
- Prepare install script on my machine. Push this script on source control system.
- On build machine, retrieve all source code & build scripts from source control.
- Generate a new build using build scripts.
- We match the installshield generated log with older log. If the logs are same, we consider it as success.
- Further we have a couple of steps which packages the msi, cab and bootstrap into a single zip.

5: According to dependency walker, The XYZ.dll has no links with either ABC.dll or DEF.dll files. However there are some utility dlls which are commonly being referred by ABC.dll & DEF.dll.

6: No our product is not multi-lingual

One more thing i would like to add. If the generated product is installed on the build machine and is removed before the new build is generated. Would there be any chances that I may have different number of components extracted ?

Thanks in advance
-Vrathod

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 10 February 2009 - 16:45

This is sort of intriguing. Any chance we can have a look at the files? (we would need all dependencies to run extraction).
Regards
-Stein Åsmul