[wix-users] Visual C++ 2015 Redistributables
Phill Hogland
phill.hogland at rimage.com
Wed Oct 14 10:41:56 PDT 2015
There were posts to this list a couple of weeks ago when someone was launching there bundle in the context of a service account. It was suggested in that thread that the 'hang' was related to a wix bug, which was fixed some time ago, but it appears that the vcredist folks did not use the fixed code, if that suggestion is correct, which is something to work with Microsoft on. However I have never used the Protocol="burn", and I have not seen the 'hang' issue.
-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Kelly Graus
Sent: Wednesday, October 14, 2015 12:33 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Visual C++ 2015 Redistributables
Does anyone have a good handle on how to deal with the Visual C++ 2015 Redistributables? For previous versions we have used merge modules, but apparently that no longer works with VC2015 - Visual Studio 2015 installs merge modules on my development machine, and I am able to build an installer using them, but after installing on a Windows 7 machine my application displays an error message ("api-ms-win-crd-runtime-l1-1-1.dll is missing”).
This blog post (http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx <http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx>) says that merge modules are no longer supported, and we need to use Windows Update (which I guess means we would tell our customers to update?), include vcredist.exe in our installer, or do a local install (which I’m avoiding since I want security updates to be automatically applied), so vcredist it is...
I’ve updated our burn bundle to silently install vcredist.exe based on samples I’ve found online using previous versions of the redistributable. On the same Windows 7 machine, the bootstrapper starts installing vcredist and then gets stuck, with no progress made (I’ve let it run for several hours just to make sure). Below is the xml I’m using (minus redacted details).
Can anyone provide any clarity to this situation? Also, is the test I’m using valid, or is there a better way to determine if the package is already installed? I’ve found a few registry keys I may be able to use, but haven’t found an official method.
Thanks!
Kelly
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi” xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?define ProductVersion=“x.x.xx" ?>
<?define Manufacturer=“Acme" ?>
<Bundle Name="$(var.ProductName)" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)” UpgradeCode="$(var.UpgradeCode)" IconSourceFile="..\Resources\Installer.ico">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
<bal:WixStandardBootstrapperApplication LicenseFile="Resources\License.rtf” LogoFile=“Resources\Logo.png” SuppressOptionsUI="yes" /> </BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="redist"/>
<MsiPackage SourceFile="$(var.MsiPath)" DisplayInternalUI="no">
<MsiProperty Name="ARPSYSTEMCOMPONENT" Value="1"/>
</MsiPackage>
</Chain>
</Bundle>
<!-- CRT Redist -->
<Fragment>
<util:FileSearch Id="MFC140_Version_x86" Variable="MFC140_Version_x86" Path="[SystemFolder]mfc140.dll" Result="version" />
<PackageGroup Id="redist_vc140">
<ExePackage Id="vc140" Cache="yes" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="yes"SourceFile="resources/vc_redist.x86.exe" InstallCommand="/quiet /norestart" InstallCondition="(NOT MFC140_Version_x86 >= v14.0.23026) OR NOT MFC140_Version_x86" Protocol="burn" />
</PackageGroup>
</Fragment>
<Fragment>
<PackageGroup Id="redist">
<PackageGroupRef Id="redist_vc140"/>
</PackageGroup>
</Fragment>
</Wix>
____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
More information about the wix-users
mailing list