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

Automation Interface question


2 replies to this topic

MGF128

MGF128
  • Members
  • 15 posts

Posted 11 June 2001 - 13:40

In using the InstallShield Automation Interface (which is pretty nifty by the way), I am stumped in trying to find the names of the merge modules associated with a feature.  I can find just about anything else (components, subfeatures, etc.), and can add merge modules to a feature, but is there any way to return the names of the merge modules added to a feature?  Any help appreciated.


Kelly Lawson

Kelly Lawson
  • Members
  • 12 posts

Posted 31 July 2001 - 17:35

I don't think the automation interface provides the ability to do this.  You could try using the Windows Installer API to crack open your compiled msi file and check the ModuleComponents table against the FeatureComponents table to come up with a list of modules associated with a feature.  The IS automation interface seems to be missing a couple really useful features, but it's been getting consistently better...

Tom

Tom
  • Members
  • 15 posts

Posted 31 July 2001 - 18:35

This functionality is in fact not present in ISWI.

I've played a bit with WISE's demo product to see how their automation is.  I have a mixed opinion - they fall a little bit short of ISWI in terms of pre-defined properties and methods and functions...but that is a very tiny hurdle on the way to superior automation layer capabilities - With WISE you can work your project entirely in MSI format (don't need to edit/save/build the .ISM), and the full MSI is exposed through WISE's automation layer.  To directly change the MSI when you work with ISWI is a hassle because changing the MSI obviously doesn't update the ISM, so ISWI doesn't "know" what changes I made, and I'll need to make them again the next time I build.

I can't speak for the rest of WISE functionality (haven't used the IDE at all, and don't work with the product on a daily basis like I do with ISWI) but the automation layer is very slick.

Figuring out programmatically which merge modules are associated to which features is going to be a bear...Kelly had the right idea, but unfortunately I can't see any spot in the MSI where MSMs are identified - it's more that their content has been grafted into the MSI that ISWI spits out.

I _think_ you'd have to map what components (by GUID) are in a given MSM, then cross reference component GUIDs to component names and then to feature names.

Anyone else found an easier way?