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

Rob Hamflett robworksn at outlook.com
Sun Sep 11 23:38:47 PDT 2016

I had the same questions for VS 2008. I made a build without the policy 
merge modules and our executables encountered runtime dependency errors 
on our test machines. I put the policy modules back in and everything 
ran fine. Having one of the two options be provably unusable helped make 
the decision.


On 07/09/2016 18:10, Jon Earle wrote:
> 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 		 	   		
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

More information about the wix-users mailing list