Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 2

COM Extraction is incomplete on new build machine

We have just moved our build machine from 32-bit Windows Vista Ultimate to a virtual Windows 7 64-bit machine. Installshield 2010 is installed on both machines.

We have Basic MSI projects for building several of our software packages (which contain COM DLLs). Creating the setup.exe in Installshield 2010 proceeds without errors or warnings on both systems, and installing the software also apparrently succeeds without error. However, the installation from the setup.exe package built on the new (virtual Windows 7 64-bit) machine does not work. Tracing the problem shows that, although all the component files (DLLs mainly) are installed, some of the COM registration data is missing.

Note that the setup.exe packages were built from exactly the same .ism file.

Extracting the .msi and comparing the contents (using Orca) shows that the registry data is missing from the setup.exe. The components were all set to 'COM Extract at Build', and much of the registry data is correctly extracted (and added to the registry on the target machine), but significant parts are missing. (Also, I notice that some of the interface names have an underscore (_LText) in the version that works, but not (LText) in the version that doesn't.)

So: why is some of the registry data not extracted?

I've compared Installshield settings, registry settings and installed files. The only thing I've seen that looks different that might be significant is that the old build machine has Visual Studio 2008, whereas the new one has VS2010.

Thanks for your help,

Labels (1)
0 Kudos
(2) Replies
Level 16

Do you have to do your extract at build time? It's a build fragility risk in my mind and avoid it when possible.
0 Kudos