[wix-users] WiX and Merge Modules - to include, or not, the policy files?

Jon Earle earlej at hotmail.com
Wed Sep 7 10:10:19 PDT 2016


I am including the VS 2005 merge modules into an MSI. The code is in place and the MSI builds.  

    <Fragment>
      <DirectoryRef Id="TARGETDIR">

        <!-- 
        WiX docs say "There is generally no need to include the policy MSMs as part of the installation.", but, the former Installshield 
        project did include it, so, including here now. Remove it if it's actually not required. 
        http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html
        -->
        <Merge Id="VCRedist2005_32" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\Microsoft_VC80_CRT_x86.msm" DiskId="1" Language="0"/>
        <Merge Id="VCRedist2005_64" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\Microsoft_VC80_CRT_x86_x64.msm" DiskId="1" Language="0"/>
        <!--
        <Merge Id="VCRedistPolicy2005_32" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\policy_8_0_Microsoft_VC80_CRT_x86.msm" DiskId="1" Language="0"/>
        <Merge Id="VCRedistPolicy2005_64" SourceFile="$(var.RESOURCES)\MergeModules\VS2005\policy_8_0_Microsoft_VC80_CRT_x86_x64.msm" DiskId="1" Language="0"/>
        -->

      </DirectoryRef>
    </Fragment>

And in my Product.wxs:

        <Feature ...>
            <ComponentRef Id="Client_Registry" />
            <?if $(var.Product) = xx ?>
                <MergeRef Id="VCRedist2005_32"/>
                <MergeRef Id="VCRedist2005_64"/>
                <!--
                <MergeRef Id="VCRedistPolicy2005_32"/>
                <MergeRef Id="VCRedistPolicy2005_64"/>
                -->
            <?endif?>
        </Feature>

I am concerned about two warnings though:

    1>light.exe(0,0): warning LGHT1076: ICE25: Possible dependency failure as we do not find CRT.Policy.63E949F6_03BC_5C40_FF1F_C8B3B9A1E18E at 0 v in ModuleSignature table
    1>light.exe(0,0): warning LGHT1076: ICE25: Possible dependency failure as we do not find CRT.Policy.4F6D20F0_CCE5_1492_FF1F_C8B3B9A1E18E at 0 v in ModuleSignature table

Two messages because I am including both the 32 and 64-bit merge modules.

I did not add the policy files because the wix page suggests not to[1]. A MS blog page also backs that up[2].  But, then there are pages such as this one[3], where the advice is TO include them.

So, I am unsure how to proceed.  Should the policy files be included or not?  And if not, why not?


  [1]: http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html
  [2]: https://blogs.msdn.microsoft.com/astebner/2007/02/13/building-an-msi-using-wix-v3-0-that-includes-the-vc-8-0-runtime-merge-modules/
  [3]: http://wix-users.narkive.com/Q7cfn1eS/merge-modules-again 		 	   		  


More information about the wix-users mailing list