tags:

views:

201

answers:

2

Hi,

I am using the following code in my Wix Installer.

    <DirectoryRef Id="TARGETDIR">
  <Merge Id="CRT" Language="0" SourceFile=".\resources\Microsoft_VC90_CRT_x86.msm" DiskId="1" />
  <Merge Id="ATL" Language="0" SourceFile=".\resources\Microsoft_VC90_ATL_x86.msm" DiskId="1" />
  <Merge Id="MFC" Language="0" SourceFile=".\resources\Microsoft_VC90_MFC_x86.msm" DiskId="1" />
  <Merge Id="MFCLOC" Language="0" SourceFile=".\resources\Microsoft_VC90_MFCLOC_x86.msm" DiskId="1" />
  <Merge Id="OpenMP" Language="0" SourceFile=".\resources\Microsoft_VC90_OpenMP_x86.msm" DiskId="1" />
  <Merge Id="CRT Policy" Language="0" src=".\resources\policy_9_0_Microsoft_VC90_CRT_x86.msm" DiskId="1" />
  <Merge Id="MFC Policy" Language="0" src=".\resources\policy_9_0_Microsoft_VC90_MFC_x86.msm" DiskId="1" />
</DirectoryRef>

<Feature Id="VCRedist" Title="Visual C++ 9.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
  <MergeRef Id="CRT" />
  <MergeRef Id="CRT Policy"/>
  <MergeRef Id="ATL" />
  <MergeRef Id="MFC" />
  <MergeRef Id="MFC Policy"/>
  <MergeRef Id="MFCLOC" />
  <MergeRef Id="OpenMP"  />
</Feature>

I feel that the msi build with this code works in many XP systems but fails in Vista. The programs and the shortcuts are getting created properly in Vista like XP.

What should I do in Vista to install these redistributables ?? I do not want to create a setup.exe with bootstrapper. My requirement states everything to be in a single msi only.

Any code example would help me a lot.

Thanks in advance for any valuable help.

Regards,

tvks

A: 

I thought that c++ redist is one of the packages recommended to be installed using the pre-packaged msi from MS. also i'm pretty sure all of the merge modules you included in your installer need corresponding policy merge modules not only crt and mfc.

another thing to check if your msi is elevating properly in Vista (UAC prompt)

Gabriel
A: 

In my current project we install the VC90 redistributables in the same way that you are describing in your post. We use the same attributes/values etc. However, we do not include any policy-modules. It works both under XP and Vista.

The Wix tutorial states that:

There is generally no need to include the policy MSMs as part of the installation.

So, if you have not given it a try, create an installation without any policies and see if that works better.

Erik Öjebo