Search code examples
visual-c++wixmsvcrt

Wix merge modules vc++ 9.0 SP1 not installing


I have a Wix installer that I have added the merge modules to for the last version of the VC++ 9.0 runtime. I've opened the .msm files with Orca to verify that they are the latest version, 9.0.30729.6161. I include the CRT msm in my installer just as it is done in the example on the Wix site:

<Fragment>
    <DirectoryRef Id="TARGETDIR">
      <?if $(var.Platform) = x64 ?>
      <Merge Id="VCRedist" SourceFile="$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC90_CRT_x86_x64.msm" DiskId="1" Language="0"/>
      <?else?>
      <Merge Id="VCRedist" SourceFile="$(env.CommonProgramFiles)\Merge Modules\Microsoft_VC90_CRT_x86.msm" DiskId="1" Language="0"/>
      <?endif ?>
    </DirectoryRef>    
</Fragment>

Then in my features file:

<MergeRef Id="VCRedist" />

When I run the installer with logging on, I can see that the files are moved to the side by side directory, C:\Windows\winsxs. When I run my application, it does not recognize that the CRT is available.

If I run the redistributable installer from here, everything works as expected. I've tried including all the merge modules with no luck.

Any ideas?


Solution

  • Using the policy merge modules got it working for me.