cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
unreal
Level 3

Merge Module Dependencies

Our organization has a standard library of Windows managed/unmanaged code that we use in our applications. These files are placed in a merge module (eg. CompanyModule) with 3 components: one with managed files and two with unmanaged files for 32 and 64-bit respectively. I then place conditions on the two unmanaged components so they install depending on whether NTVersion64 is true or not. These unmanaged files have two software dependencies: VC++ 9.0 CRT and DirectX 9 (specifically d3dx9_38.dll). I selected these two as merge module dependencies of the main module (CompanyModule). Although, when I run the installer it doesn't show DirectX being installed in the status screen. I dropped the dependencies in CompanyModule and added them as dependencies in the app specific MSI (eg. CompanyApplicationMSI), and I now see the DirectX files installing. This is confusing as the dependent modules (VC++ and DirectX9) show up in the CompanyApplicationMSI redistributable view of the designer, when I have it setup the way I want, which is...

VC++/DirectX9 -> CompanyModule -> CompanyApplicationMSI

I tried finding where the DirectX9 files get installed (usually system32 I think) by going into Direct Edit Mode on ISDX9 in InstallShield\2009\Objects but am having a problem understanding the tables (Im a newb at MSI/MSM.)

My questions are: Do the files get stuffed into the Binary table? How does the merge module (ISDX9.msm) get updated after exiting direct edit mode, especially when I need to trim/add files inside the ISDX9 module? Why does it work when the CompanyModule isn't acting as the middle man? How can I verify that the modules are actually saving the files and to where?
Labels (1)
0 Kudos
(1) Reply
unreal
Level 3

<::bump::>
0 Kudos