I like to think I’m a big enough man to admit when I’m wrong, so here goes…
The problem reported in this post is fixed by updating to the SP2 version of IS 2009 Standalone Build. Now in my defense, I didn’t know there was an SP2 until I reported this problem because the Software Manager doesn’t properly identify the update (so I thought I already had “Standalone Build” installed). Anyway, I’m going to leave the original post up (below) in case any readers have the same problem.
I thought I’d post information about another bug I found in InstallShield 2009 merge module projects that I found while comparing output from a merge module project built using the standalone builds for IS 12 and IS 2009.
Records entered into the ProgId or Registry tables in the merge module source project do not get created in the output merge module file (.msm).
Acresso support has duplicated this behavior and I am currently working with them to find a work around (my incident number is SIOA-000143195).
This can be a serious issue if you are not using [or cannot use] the “COM Extract At Build” option to populate the appropriate MSI tables with COM interfaces when the module contains COM binaries. An example of this (that I’m stuck with at the moment) is if the install contains 64-bit COM binaries but is actually built on an x86 machine. In this case, the “COM Extract At Build” option doesn’t work so we use the “REG File To Merge At Build” option to add the required interfaces directly to the MSI Registry table.
I suspect (but have not confirmed) that this may also occur for any records added to the Class or TypeLib tables in a merge module source project file. There may also be others.