PDA

View Full Version : a file that COM extraction struggles with



looeee
04-28-2006, 05:24 AM
found this while repackaging

It fails to identify the ProgIDs / verindependentprogids

COM extract at build interprets file paths in the HKLM registry keys but all the other methods leave hard-coded paths to the files' location on the development box

the repackager does a half-decent job of processing the entries but InstallShield does not

looeee

Mike Marino
05-02-2006, 05:03 PM
The reason we do not populate the ProgID table in the case of this dll is that the CLSID's do not reference any ProgIDs. In some cases we have found that MSI does not write the ProgIds if the associated CLSID's are not installed. Thus to make sure that your PROGIds get installed, we write registry keys for them.

If you use the COM Extract at Build option, you should not see hard coded paths. If you are Extracting COM information by right clicking on a File in the Files view (or using the component wizard) hard coded paths some will occur in some cases.

I have fixed this problem for InstallShield 12.

Thanks for the feedback.

looeee
05-03-2006, 08:46 AM
Mike

While what you are saying is correct about the CLSIDs, every single ProgId references its CLSID so what's the problem? There is no ambiguity about where each ProgId belongs. If your algorithm for associating these entries is only looking at the relationship in one direction, surely it needs to do a second sweep looking the other way.

I accept that the fault here may be with the author of the original DLL but as I live in the repackaging world there is nothing that I can do about that.

As I said before, repackager makes nice, neat table entries for the COM entries in this DLL and those like it. Are you saying that repackager is incorrect in identifying the ProgIds as ProgIds and the CLSIDs as CLSIDs?

Mike Marino
05-03-2006, 12:16 PM
Good point. Can you try the attached DLL and see if it corrects the issue you are seeing?

This will only fix the ProjID problem, not the hard coded paths in the registry keys. I can send you a dll for that as well if you want to try it.

Thanks,
Mike

looeee
05-10-2006, 06:07 AM
Yes, that is much better
thank you