aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeath Stewart <heaths@outlook.com>2019-05-05 10:28:22 -0700
committerBob Arnson <bob@firegiant.com>2019-05-05 13:35:09 -0400
commit5e69f559a3cebd6fea0075f99ff5a6eb53958993 (patch)
treeb4b4215d9172f94ab50151e11f4dc8a26919bb76
parent9b42d1d2f0fc13085f5f8d9ce8e420f556c55814 (diff)
downloadwix-5e69f559a3cebd6fea0075f99ff5a6eb53958993.tar.gz
wix-5e69f559a3cebd6fea0075f99ff5a6eb53958993.tar.bz2
wix-5e69f559a3cebd6fea0075f99ff5a6eb53958993.zip
Find latest for each VS2017+ version found
Fixes wixtoolset/issues#5979
-rw-r--r--src/ca/vsca.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/ca/vsca.cpp b/src/ca/vsca.cpp
index ac045db8..54a54a34 100644
--- a/src/ca/vsca.cpp
+++ b/src/ca/vsca.cpp
@@ -51,7 +51,7 @@ static HRESULT ProcessVS2019(
51 __in_opt ISetupInstance* pInstance, 51 __in_opt ISetupInstance* pInstance,
52 __in DWORD64 qwVersion, 52 __in DWORD64 qwVersion,
53 __in BOOL fComplete 53 __in BOOL fComplete
54); 54 );
55 55
56static HRESULT SetPropertyForComponent( 56static HRESULT SetPropertyForComponent(
57 __in DWORD cComponents, 57 __in DWORD cComponents,
@@ -157,11 +157,8 @@ extern "C" UINT __stdcall FindInstances(
157 { 157 {
158 const VS_INSTANCE* pElem = &vrgInstances[i]; 158 const VS_INSTANCE* pElem = &vrgInstances[i];
159 159
160 if (pElem->qwMinVersion <= qwVersion && qwVersion <= pElem->qwMaxVersion) 160 hr = pElem->pfnProcessInstance(NULL, 0, TRUE);
161 { 161 ExitOnFailure(hr, "Failed to process latest instance.");
162 hr = pElem->pfnProcessInstance(NULL, 0, TRUE);
163 ExitOnFailure(hr, "Failed to process latest instance.");
164 }
165 } 162 }
166 163
167LExit: 164LExit:
@@ -418,7 +415,7 @@ static HRESULT ProcessVS2019(
418 __in_opt ISetupInstance* pInstance, 415 __in_opt ISetupInstance* pInstance,
419 __in DWORD64 qwVersion, 416 __in DWORD64 qwVersion,
420 __in BOOL fComplete 417 __in BOOL fComplete
421) 418 )
422{ 419{
423 static ISetupInstance* pLatest = NULL; 420 static ISetupInstance* pLatest = NULL;
424 static DWORD64 qwLatest = 0; 421 static DWORD64 qwLatest = 0;
@@ -436,7 +433,7 @@ static HRESULT ProcessVS2019(
436 { L"Microsoft.VisualStudio.Component.FSharp", L"VS2019_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" }, 433 { L"Microsoft.VisualStudio.Component.FSharp", L"VS2019_IDE_FSHARP_PROJECTSYSTEM_INSTALLED" },
437 { L"Microsoft.VisualStudio.Component.Roslyn.LanguageServices", L"VS2019_IDE_VB_PROJECTSYSTEM_INSTALLED" }, 434 { L"Microsoft.VisualStudio.Component.Roslyn.LanguageServices", L"VS2019_IDE_VB_PROJECTSYSTEM_INSTALLED" },
438 { L"Microsoft.VisualStudio.Component.Roslyn.LanguageServices", L"VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" }, 435 { L"Microsoft.VisualStudio.Component.Roslyn.LanguageServices", L"VS2019_IDE_VCSHARP_PROJECTSYSTEM_INSTALLED" },
439 { L"Microsoft.VisualStudio.Component.TestTools.Core", L"VS2019_IDE_VSTS_TESTSYSTEM_INSTALLED" }, 436 { L"Microsoft.VisualStudio.PackageGroup.TestTools.Core", L"VS2019_IDE_VSTS_TESTSYSTEM_INSTALLED" },
440 { L"Microsoft.VisualStudio.Component.VC.CoreIde", L"VS2019_IDE_VC_PROJECTSYSTEM_INSTALLED" }, 437 { L"Microsoft.VisualStudio.Component.VC.CoreIde", L"VS2019_IDE_VC_PROJECTSYSTEM_INSTALLED" },
441 { L"Microsoft.VisualStudio.Component.Web", L"VS2019_IDE_VWD_PROJECTSYSTEM_INSTALLED" }, 438 { L"Microsoft.VisualStudio.Component.Web", L"VS2019_IDE_VWD_PROJECTSYSTEM_INSTALLED" },
442 { L"Microsoft.VisualStudio.PackageGroup.DslRuntime", L"VS2019_IDE_MODELING_PROJECTSYSTEM_INSTALLED" }, 439 { L"Microsoft.VisualStudio.PackageGroup.DslRuntime", L"VS2019_IDE_MODELING_PROJECTSYSTEM_INSTALLED" },