Completely skip VCRT install if it's already installed

* We don't really need to update the version, any VC 2015 version would do, and
  it causes the installer to try to trigger a reboot if the CRT is in use, which
  is quite likely.
This commit is contained in:
baldurk
2019-03-04 11:28:29 +00:00
parent 62d644acfa
commit 1433e6e01f
2 changed files with 41 additions and 3 deletions
+13 -1
View File
@@ -314,6 +314,14 @@
<Merge Id="VCRedist32" DiskId="1" Language="0" SourceFile="C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC140_CRT_x86.msm"/>
</DirectoryRef>
<Property Id="VCRT32INSTALLED" Value="0">
<RegistrySearch Id="VCRT32Key"
Root="HKLM"
Key="Software\Microsoft\VisualStudio\14.0\VC\Runtimes\x86"
Name="Installed"
Type="raw" />
</Property>
<Feature Id='Complete' Title='RenderDoc' Description='Everything included.' AllowAdvertise='no' Absent='disallow' Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>
<Feature Id='MainProgram' Title='Program' Description='The main executable with everything needed to capture and replay.' AllowAdvertise='no' Absent='disallow' Level='1'>
<ComponentRef Id='QRenderDoc' />
@@ -340,7 +348,11 @@
<ComponentRef Id='ImageOpenWith' />
</Feature>
<Feature Id="VCRedist32" Title="Visual C++ 2010 Runtime SP1" AllowAdvertise="no" Display="hidden" Level="1">
<Feature Id="VCRedist32" Title="Visual C++ 2015 Runtime Update 3" AllowAdvertise="no" Display="hidden" Level="1">
<Condition Level='0'>
<![CDATA[Installed OR (VCRT32INSTALLED <> "0")]]>
</Condition>
<MergeRef Id="VCRedist32"/>
</Feature>
+28 -2
View File
@@ -332,6 +332,24 @@
<Merge Id="VCRedist64" DiskId="1" Language="0" SourceFile="C:\Program Files (x86)\Common Files\Merge Modules\Microsoft_VC140_CRT_x86.msm"/>
</DirectoryRef>
<Property Id="VCRT64INSTALLED" Value="0">
<RegistrySearch Id="VCRT64Key"
Root="HKLM"
Key="Software\Microsoft\VisualStudio\14.0\VC\Runtimes\x64"
Name="Installed"
Win64="yes"
Type="raw" />
</Property>
<Property Id="VCRT32INSTALLED" Value="0">
<RegistrySearch Id="VCRT32Key"
Root="HKLM"
Key="Software\Microsoft\VisualStudio\14.0\VC\Runtimes\x86"
Name="Installed"
Win64="no"
Type="raw" />
</Property>
<Feature Id='Complete' Title='RenderDoc' Description='Everything included.' AllowAdvertise='no' Absent='disallow' Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>
<Feature Id='MainProgram' Title='Program' Description='The main executable with everything needed to capture and replay.' AllowAdvertise='no' Absent='disallow' Level='1'>
<ComponentRef Id='QRenderDoc' />
@@ -361,11 +379,19 @@
</Feature>
<Feature Id="VCRedist32" Title="Visual C++ 2010 Runtime SP1 (x86)" AllowAdvertise="no" Display="hidden" Level="1">
<Feature Id='VCRedist32' Title='Visual C++ 2015 Runtime Update 3 (x86)' AllowAdvertise="no" Display="hidden" Level="1">
<Condition Level='0'>
<![CDATA[Installed OR (VCRT32INSTALLED <> "0")]]>
</Condition>
<MergeRef Id="VCRedist32"/>
</Feature>
<Feature Id="VCRedist64" Title="Visual C++ 2010 Runtime SP1 (x64)" AllowAdvertise="no" Display="hidden" Level="1">
<Feature Id='VCRedist64' Title='Visual C++ 2015 Runtime Update 3 (x64)' AllowAdvertise="no" Display="hidden" Level="1">
<Condition Level='0'>
<![CDATA[Installed OR (VCRT64INSTALLED <> "0")]]>
</Condition>
<MergeRef Id="VCRedist64"/>
</Feature>