aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/burn/engine/core.cpp2
-rw-r--r--src/burn/engine/engine.mc2
-rw-r--r--src/burn/engine/logging.cpp17
-rw-r--r--src/burn/engine/logging.h4
-rw-r--r--src/burn/engine/plan.cpp17
-rw-r--r--src/burn/engine/userexperience.cpp6
-rw-r--r--src/burn/test/BurnUnitTest/PlanTest.cpp25
-rw-r--r--src/ext/NetFx/wixlib/NetCore3.1.12_x64.wxs6
-rw-r--r--src/ext/NetFx/wixlib/NetCore3.1.12_x86.wxs6
-rw-r--r--src/ext/NetFx/wixlib/NetFx452.wxs4
-rw-r--r--src/ext/NetFx/wixlib/NetFx46.wxs4
-rw-r--r--src/ext/NetFx/wixlib/NetFx461.wxs4
-rw-r--r--src/ext/NetFx/wixlib/NetFx462.wxs2
-rw-r--r--src/ext/NetFx/wixlib/NetFx472.wxs4
-rw-r--r--src/ext/NetFx/wixlib/NetFx48.wxs4
15 files changed, 76 insertions, 31 deletions
diff --git a/src/burn/engine/core.cpp b/src/burn/engine/core.cpp
index 02cab7e6..601f29a0 100644
--- a/src/burn/engine/core.cpp
+++ b/src/burn/engine/core.cpp
@@ -1788,7 +1788,7 @@ static void LogPackages(
1788 const DWORD iPackage = (BOOTSTRAPPER_ACTION_UNINSTALL == action) ? pPackages->cPackages - 1 - i : i; 1788 const DWORD iPackage = (BOOTSTRAPPER_ACTION_UNINSTALL == action) ? pPackages->cPackages - 1 - i : i;
1789 const BURN_PACKAGE* pPackage = &pPackages->rgPackages[iPackage]; 1789 const BURN_PACKAGE* pPackage = &pPackages->rgPackages[iPackage];
1790 1790
1791 LogId(REPORT_STANDARD, MSG_PLANNED_PACKAGE, pPackage->sczId, LoggingPackageStateToString(pPackage->currentState), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingBoolToString(pPackage->fPlannedCache), LoggingBoolToString(pPackage->fPlannedUncache), LoggingDependencyActionToString(pPackage->dependencyExecute), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedInstallRegistrationState), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedCacheRegistrationState)); 1791 LogId(REPORT_STANDARD, MSG_PLANNED_PACKAGE, pPackage->sczId, LoggingPackageStateToString(pPackage->currentState), LoggingRequestStateToString(pPackage->defaultRequested), LoggingRequestStateToString(pPackage->requested), LoggingActionStateToString(pPackage->execute), LoggingActionStateToString(pPackage->rollback), LoggingCacheTypeToString(pPackage->authoredCacheType), LoggingCacheTypeToString(pPackage->cacheType), LoggingBoolToString(pPackage->fPlannedCache), LoggingBoolToString(pPackage->fPlannedUncache), LoggingDependencyActionToString(pPackage->dependencyExecute), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedInstallRegistrationState), LoggingPackageRegistrationStateToString(pPackage->fCanAffectRegistration, pPackage->expectedCacheRegistrationState));
1792 1792
1793 if (BURN_PACKAGE_TYPE_MSI == pPackage->type) 1793 if (BURN_PACKAGE_TYPE_MSI == pPackage->type)
1794 { 1794 {
diff --git a/src/burn/engine/engine.mc b/src/burn/engine/engine.mc
index 84046314..929bf67a 100644
--- a/src/burn/engine/engine.mc
+++ b/src/burn/engine/engine.mc
@@ -314,7 +314,7 @@ MessageId=201
314Severity=Success 314Severity=Success
315SymbolicName=MSG_PLANNED_PACKAGE 315SymbolicName=MSG_PLANNED_PACKAGE
316Language=English 316Language=English
317Planned package: %1!ls!, state: %2!hs!, default requested: %3!hs!, ba requested: %4!hs!, execute: %5!hs!, rollback: %6!hs!, cache: %7!hs!, uncache: %8!hs!, dependency: %9!hs!, expected install registration state: %10!hs!, expected cache registration state: %11!hs! 317Planned package: %1!ls!, state: %2!hs!, default requested: %3!hs!, ba requested: %4!hs!, execute: %5!hs!, rollback: %6!hs!, default cache strategy: %7!hs!, ba requested strategy: %8!hs!, cache: %9!hs!, uncache: %10!hs!, dependency: %11!hs!, expected install registration state: %12!hs!, expected cache registration state: %13!hs!
318. 318.
319 319
320MessageId=202 320MessageId=202
diff --git a/src/burn/engine/logging.cpp b/src/burn/engine/logging.cpp
index 065ef907..7ee1ec85 100644
--- a/src/burn/engine/logging.cpp
+++ b/src/burn/engine/logging.cpp
@@ -337,6 +337,23 @@ extern "C" LPCSTR LoggingActionStateToString(
337 } 337 }
338} 338}
339 339
340extern "C" LPCSTR LoggingCacheTypeToString(
341 BOOTSTRAPPER_CACHE_TYPE cacheType
342 )
343{
344 switch (cacheType)
345 {
346 case BOOTSTRAPPER_CACHE_TYPE_FORCE:
347 return "Force";
348 case BOOTSTRAPPER_CACHE_TYPE_KEEP:
349 return "Keep";
350 case BOOTSTRAPPER_CACHE_TYPE_REMOVE:
351 return "Remove";
352 default:
353 return "Invalid";
354 }
355}
356
340extern "C" LPCSTR LoggingDependencyActionToString( 357extern "C" LPCSTR LoggingDependencyActionToString(
341 BURN_DEPENDENCY_ACTION action 358 BURN_DEPENDENCY_ACTION action
342 ) 359 )
diff --git a/src/burn/engine/logging.h b/src/burn/engine/logging.h
index 601039f9..909ce591 100644
--- a/src/burn/engine/logging.h
+++ b/src/burn/engine/logging.h
@@ -73,6 +73,10 @@ LPCSTR LoggingActionStateToString(
73 __in BOOTSTRAPPER_ACTION_STATE actionState 73 __in BOOTSTRAPPER_ACTION_STATE actionState
74 ); 74 );
75 75
76LPCSTR LoggingCacheTypeToString(
77 BOOTSTRAPPER_CACHE_TYPE cacheType
78 );
79
76LPCSTR LoggingDependencyActionToString( 80LPCSTR LoggingDependencyActionToString(
77 BURN_DEPENDENCY_ACTION action 81 BURN_DEPENDENCY_ACTION action
78 ); 82 );
diff --git a/src/burn/engine/plan.cpp b/src/burn/engine/plan.cpp
index 327078b9..f0ae2a44 100644
--- a/src/burn/engine/plan.cpp
+++ b/src/burn/engine/plan.cpp
@@ -1077,7 +1077,7 @@ extern "C" HRESULT PlanExecutePackage(
1077 ) 1077 )
1078{ 1078{
1079 HRESULT hr = S_OK; 1079 HRESULT hr = S_OK;
1080 BOOL fRequestedCache = BOOTSTRAPPER_REQUEST_STATE_CACHE == pPackage->requested || ForceCache(pPlan, pPackage); 1080 BOOL fRequestedCache = BOOTSTRAPPER_CACHE_TYPE_REMOVE < pPackage->cacheType && (BOOTSTRAPPER_REQUEST_STATE_CACHE == pPackage->requested || ForceCache(pPlan, pPackage));
1081 1081
1082 hr = CalculateExecuteActions(pPackage, pPlan->pActiveRollbackBoundary); 1082 hr = CalculateExecuteActions(pPackage, pPlan->pActiveRollbackBoundary);
1083 ExitOnFailure(hr, "Failed to calculate plan actions for package: %ls", pPackage->sczId); 1083 ExitOnFailure(hr, "Failed to calculate plan actions for package: %ls", pPackage->sczId);
@@ -2531,8 +2531,19 @@ static BOOL ForceCache(
2531 __in BURN_PACKAGE* pPackage 2531 __in BURN_PACKAGE* pPackage
2532 ) 2532 )
2533{ 2533{
2534 // All packages that have cacheType set to force should be cached if the bundle is going to be present. 2534 switch (pPackage->cacheType)
2535 return BOOTSTRAPPER_CACHE_TYPE_FORCE == pPackage->cacheType && BOOTSTRAPPER_ACTION_UNINSTALL < pPlan->action; 2535 {
2536 case BOOTSTRAPPER_CACHE_TYPE_KEEP:
2537 // During actions that are expected to have source media available,
2538 // all packages that have cacheType set to keep should be cached if the package is going to be present.
2539 return (BOOTSTRAPPER_ACTION_CACHE == pPlan->action || BOOTSTRAPPER_ACTION_INSTALL == pPlan->action) &&
2540 BOOTSTRAPPER_REQUEST_STATE_CACHE < pPackage->requested;
2541 case BOOTSTRAPPER_CACHE_TYPE_FORCE:
2542 // All packages that have cacheType set to force should be cached if the bundle is going to be present.
2543 return BOOTSTRAPPER_ACTION_UNINSTALL < pPlan->action;
2544 default:
2545 return FALSE;
2546 }
2536} 2547}
2537 2548
2538static void CacheActionLog( 2549static void CacheActionLog(
diff --git a/src/burn/engine/userexperience.cpp b/src/burn/engine/userexperience.cpp
index 2215a070..5a54f26e 100644
--- a/src/burn/engine/userexperience.cpp
+++ b/src/burn/engine/userexperience.cpp
@@ -1998,7 +1998,11 @@ EXTERN_C BAAPI UserExperienceOnPlanPackageBegin(
1998 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); 1998 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT);
1999 } 1999 }
2000 *pRequestedState = results.requestedState; 2000 *pRequestedState = results.requestedState;
2001 *pRequestedCacheType = results.requestedCacheType; 2001
2002 if (BOOTSTRAPPER_CACHE_TYPE_REMOVE <= results.requestedCacheType && BOOTSTRAPPER_CACHE_TYPE_FORCE >= results.requestedCacheType)
2003 {
2004 *pRequestedCacheType = results.requestedCacheType;
2005 }
2002 2006
2003LExit: 2007LExit:
2004 return hr; 2008 return hr;
diff --git a/src/burn/test/BurnUnitTest/PlanTest.cpp b/src/burn/test/BurnUnitTest/PlanTest.cpp
index 045c510e..23192349 100644
--- a/src/burn/test/BurnUnitTest/PlanTest.cpp
+++ b/src/burn/test/BurnUnitTest/PlanTest.cpp
@@ -726,27 +726,33 @@ namespace Bootstrapper
726 BOOL fRollback = FALSE; 726 BOOL fRollback = FALSE;
727 DWORD dwIndex = 0; 727 DWORD dwIndex = 0;
728 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); 728 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1);
729 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web");
730 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++);
731 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 3);
729 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA"); 732 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA");
730 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); 733 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++);
731 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); 734 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 4);
732 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); 735 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA");
733 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); 736 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++);
734 Assert::Equal(dwIndex, pPlan->cCacheActions); 737 Assert::Equal(dwIndex, pPlan->cCacheActions);
735 738
736 fRollback = TRUE; 739 fRollback = TRUE;
737 dwIndex = 0; 740 dwIndex = 0;
738 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); 741 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 4);
739 Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); 742 Assert::Equal(dwIndex, pPlan->cRollbackCacheActions);
740 743
741 Assert::Equal(3055111ull, pPlan->qwEstimatedSize); 744 Assert::Equal(3055111ull, pPlan->qwEstimatedSize);
742 Assert::Equal(212992ull, pPlan->qwCacheSizeTotal); 745 Assert::Equal(6130592ull, pPlan->qwCacheSizeTotal);
743 746
744 fRollback = FALSE; 747 fRollback = FALSE;
745 dwIndex = 0; 748 dwIndex = 0;
746 DWORD dwExecuteCheckpointId = 3; 749 DWORD dwExecuteCheckpointId = 2;
747 BURN_EXECUTE_ACTION* pExecuteAction = NULL; 750 BURN_EXECUTE_ACTION* pExecuteAction = NULL;
748 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); 751 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE);
749 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[5].syncpoint.hEvent); 752 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent);
753 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
754 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[8].syncpoint.hEvent);
755 dwExecuteCheckpointId += 2; // cache checkpoints
750 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 756 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
751 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 757 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
752 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); 758 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER);
@@ -755,7 +761,7 @@ namespace Bootstrapper
755 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 761 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
756 ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", BURN_DEPENDENCY_ACTION_REGISTER); 762 ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", BURN_DEPENDENCY_ACTION_REGISTER);
757 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 763 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
758 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent); 764 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[5].syncpoint.hEvent);
759 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 765 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
760 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 766 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
761 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", BURN_DEPENDENCY_ACTION_REGISTER); 767 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", BURN_DEPENDENCY_ACTION_REGISTER);
@@ -769,8 +775,11 @@ namespace Bootstrapper
769 775
770 fRollback = TRUE; 776 fRollback = TRUE;
771 dwIndex = 0; 777 dwIndex = 0;
772 dwExecuteCheckpointId = 3; 778 dwExecuteCheckpointId = 2;
773 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); 779 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE);
780 ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web");
781 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
782 dwExecuteCheckpointId += 2; // cache checkpoints
774 ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); 783 ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageA");
775 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 784 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
776 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER); 785 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER);
@@ -793,7 +802,7 @@ namespace Bootstrapper
793 Assert::Equal(dwIndex, pPlan->cRollbackActions); 802 Assert::Equal(dwIndex, pPlan->cRollbackActions);
794 803
795 Assert::Equal(2ul, pPlan->cExecutePackagesTotal); 804 Assert::Equal(2ul, pPlan->cExecutePackagesTotal);
796 Assert::Equal(4ul, pPlan->cOverallProgressTicksTotal); 805 Assert::Equal(5ul, pPlan->cOverallProgressTicksTotal);
797 806
798 dwIndex = 0; 807 dwIndex = 0;
799 Assert::Equal(dwIndex, pPlan->cCleanActions); 808 Assert::Equal(dwIndex, pPlan->cCleanActions);
diff --git a/src/ext/NetFx/wixlib/NetCore3.1.12_x64.wxs b/src/ext/NetFx/wixlib/NetCore3.1.12_x64.wxs
index 990dc0bf..d3e87d2a 100644
--- a/src/ext/NetFx/wixlib/NetCore3.1.12_x64.wxs
+++ b/src/ext/NetFx/wixlib/NetCore3.1.12_x64.wxs
@@ -20,7 +20,7 @@
20 <WixVariable Id="AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" /> 20 <WixVariable Id="AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
21 21
22 <PackageGroup Id="$(var.AspNetCoreRedistId)"> 22 <PackageGroup Id="$(var.AspNetCoreRedistId)">
23 <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" RepairArguments="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments)" UninstallArguments="$(var.AspNetCoreRedistUninstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)"> 23 <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)" Cache="no">
24 <ExePackagePayload Name="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)aspnetcore-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.AspNetCoreRedistLink)" Description="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Hash="5CE9839CAE90FB2936033431F2905E97C7DC080DC50108D58714939CCCC6A265694B8259A3BF742A68BF04D9CFFB0602B0306DD401C4CE644BDB96C7D1168E59" ProductName="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Size="7841808" Version="3.1.12.21070" /> 24 <ExePackagePayload Name="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)aspnetcore-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.AspNetCoreRedistLink)" Description="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Hash="5CE9839CAE90FB2936033431F2905E97C7DC080DC50108D58714939CCCC6A265694B8259A3BF742A68BF04D9CFFB0602B0306DD401C4CE644BDB96C7D1168E59" ProductName="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Size="7841808" Version="3.1.12.21070" />
25 </ExePackage> 25 </ExePackage>
26 </PackageGroup> 26 </PackageGroup>
@@ -35,7 +35,7 @@
35 <WixVariable Id="DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" /> 35 <WixVariable Id="DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
36 36
37 <PackageGroup Id="$(var.DesktopNetCoreRedistId)"> 37 <PackageGroup Id="$(var.DesktopNetCoreRedistId)">
38 <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" RepairArguments="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments)" UninstallArguments="$(var.DesktopNetCoreRedistUninstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)"> 38 <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)" Cache="no">
39 <ExePackagePayload Name="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)windowsdesktop-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DesktopNetCoreRedistLink)" Description="Microsoft Windows Desktop Runtime - 3.1.12 (x64)" Hash="CD69B8722B2FF175FADD6774AB6A97F89292FC57A15CEC95218E79FFF1E26F46A7EFFFB15CE0F6D22B83B991F7083BB5C04F5158F87D298EA0F204933F8ECD27" ProductName="Microsoft Windows Desktop Runtime - 3.1.12 (x64)" Size="54284816" Version="3.1.12.29719" /> 39 <ExePackagePayload Name="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)windowsdesktop-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DesktopNetCoreRedistLink)" Description="Microsoft Windows Desktop Runtime - 3.1.12 (x64)" Hash="CD69B8722B2FF175FADD6774AB6A97F89292FC57A15CEC95218E79FFF1E26F46A7EFFFB15CE0F6D22B83B991F7083BB5C04F5158F87D298EA0F204933F8ECD27" ProductName="Microsoft Windows Desktop Runtime - 3.1.12 (x64)" Size="54284816" Version="3.1.12.29719" />
40 </ExePackage> 40 </ExePackage>
41 </PackageGroup> 41 </PackageGroup>
@@ -50,7 +50,7 @@
50 <WixVariable Id="DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" /> 50 <WixVariable Id="DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
51 51
52 <PackageGroup Id="$(var.DotNetCoreRedistId)"> 52 <PackageGroup Id="$(var.DotNetCoreRedistId)">
53 <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" RepairArguments="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments)" UninstallArguments="$(var.DotNetCoreRedistUninstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)"> 53 <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)" Cache="no">
54 <ExePackagePayload Name="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)dotnet-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DotNetCoreRedistLink)" Description="Microsoft .NET Core Runtime - 3.1.12 (x64)" Hash="9B3F882AE5DFDC8B50D3CEC4F3292292D658B2FECB84B3F73426FB3C16E6FC6B8E7118EF559CFAE25ED7A2C175FA4D89E18986CA3C05D15F706524FBB667F702" ProductName="Microsoft .NET Core Runtime - 3.1.12 (x64)" Size="26090616" Version="3.1.12.29719" /> 54 <ExePackagePayload Name="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)dotnet-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DotNetCoreRedistLink)" Description="Microsoft .NET Core Runtime - 3.1.12 (x64)" Hash="9B3F882AE5DFDC8B50D3CEC4F3292292D658B2FECB84B3F73426FB3C16E6FC6B8E7118EF559CFAE25ED7A2C175FA4D89E18986CA3C05D15F706524FBB667F702" ProductName="Microsoft .NET Core Runtime - 3.1.12 (x64)" Size="26090616" Version="3.1.12.29719" />
55 </ExePackage> 55 </ExePackage>
56 </PackageGroup> 56 </PackageGroup>
diff --git a/src/ext/NetFx/wixlib/NetCore3.1.12_x86.wxs b/src/ext/NetFx/wixlib/NetCore3.1.12_x86.wxs
index b6d5d371..e97b3144 100644
--- a/src/ext/NetFx/wixlib/NetCore3.1.12_x86.wxs
+++ b/src/ext/NetFx/wixlib/NetCore3.1.12_x86.wxs
@@ -20,7 +20,7 @@
20 <WixVariable Id="AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" /> 20 <WixVariable Id="AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
21 21
22 <PackageGroup Id="$(var.AspNetCoreRedistId)"> 22 <PackageGroup Id="$(var.AspNetCoreRedistId)">
23 <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" RepairArguments="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments)" UninstallArguments="$(var.AspNetCoreRedistUninstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)"> 23 <ExePackage InstallArguments="$(var.AspNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.AspNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.AspNetCoreRedistLog)" Cache="no">
24 <ExePackagePayload Name="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)aspnetcore-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.AspNetCoreRedistLink)" Description="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Hash="03EE5F6D3B2AF8FFE2A5154BB05E50938E2D36E98D996D9E67A3C349DD0C8B3051D5A9628F48C51E006CEA0B1F4484B4BE51920FE5CA841060B0D2C6A12FD5D2" ProductName="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Size="7841808" Version="3.1.12.21070" /> 24 <ExePackagePayload Name="!(wix.AspNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)aspnetcore-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.AspNetCoreRedistLink)" Description="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Hash="03EE5F6D3B2AF8FFE2A5154BB05E50938E2D36E98D996D9E67A3C349DD0C8B3051D5A9628F48C51E006CEA0B1F4484B4BE51920FE5CA841060B0D2C6A12FD5D2" ProductName="Microsoft ASP.NET Core 3.1.12 - Shared Framework" Size="7841808" Version="3.1.12.21070" />
25 </ExePackage> 25 </ExePackage>
26 </PackageGroup> 26 </PackageGroup>
@@ -35,7 +35,7 @@
35 <WixVariable Id="DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" /> 35 <WixVariable Id="DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
36 36
37 <PackageGroup Id="$(var.DesktopNetCoreRedistId)"> 37 <PackageGroup Id="$(var.DesktopNetCoreRedistId)">
38 <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" RepairArguments="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments)" UninstallArguments="$(var.DesktopNetCoreRedistUninstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)"> 38 <ExePackage InstallArguments="$(var.DesktopNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DesktopNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DesktopNetCoreRedistLog)" Cache="no">
39 <ExePackagePayload Name="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)windowsdesktop-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DesktopNetCoreRedistLink)" Description="Microsoft Windows Desktop Runtime - 3.1.12 (x86)" Hash="C211A7F29D9B6FEEFCF0379B153FFBFB815157D3D494CFD7D0D84D619701EEA284BF12502094BCFF2BB2968213190454E7CE0E865FD623E78C2FCDAEBEF963DA" ProductName="Microsoft Windows Desktop Runtime - 3.1.12 (x86)" Size="48590696" Version="3.1.12.29719" /> 39 <ExePackagePayload Name="!(wix.DesktopNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)windowsdesktop-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DesktopNetCoreRedistLink)" Description="Microsoft Windows Desktop Runtime - 3.1.12 (x86)" Hash="C211A7F29D9B6FEEFCF0379B153FFBFB815157D3D494CFD7D0D84D619701EEA284BF12502094BCFF2BB2968213190454E7CE0E865FD623E78C2FCDAEBEF963DA" ProductName="Microsoft Windows Desktop Runtime - 3.1.12 (x86)" Size="48590696" Version="3.1.12.29719" />
40 </ExePackage> 40 </ExePackage>
41 </PackageGroup> 41 </PackageGroup>
@@ -50,7 +50,7 @@
50 <WixVariable Id="DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" /> 50 <WixVariable Id="DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments" Value="" Overridable="yes" />
51 51
52 <PackageGroup Id="$(var.DotNetCoreRedistId)"> 52 <PackageGroup Id="$(var.DotNetCoreRedistId)">
53 <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" RepairArguments="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)RepairArguments)" UninstallArguments="$(var.DotNetCoreRedistUninstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)"> 53 <ExePackage InstallArguments="$(var.DotNetCoreRedistInstallArguments)" PerMachine="yes" DetectCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)DetectCondition)" InstallCondition="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)InstallCondition)" Id="$(var.DotNetCoreRedistId)" Vital="yes" Permanent="yes" Protocol="burn" LogPathVariable="$(var.DotNetCoreRedistLog)" Cache="no">
54 <ExePackagePayload Name="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)dotnet-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DotNetCoreRedistLink)" Description="Microsoft .NET Core Runtime - 3.1.12 (x86)" Hash="BA18F9028B19630D91017BEACCD8D79388125C228A83B5A62306108F3BB283617A7ED9B98785BC73192EC00E5D186DA767E940DCAB388699FAF274E437D0C16F" ProductName="Microsoft .NET Core Runtime - 3.1.12 (x86)" Size="23392184" Version="3.1.12.29719" /> 54 <ExePackagePayload Name="!(wix.DotNetCoreRuntime$(var.NetCoreIdVersion)Redist$(var.NetCorePlatform)PackageDirectory)dotnet-runtime-$(var.NetCoreVersion)-win-$(var.NetCorePlatform).exe" DownloadUrl="$(var.DotNetCoreRedistLink)" Description="Microsoft .NET Core Runtime - 3.1.12 (x86)" Hash="BA18F9028B19630D91017BEACCD8D79388125C228A83B5A62306108F3BB283617A7ED9B98785BC73192EC00E5D186DA767E940DCAB388699FAF274E437D0C16F" ProductName="Microsoft .NET Core Runtime - 3.1.12 (x86)" Size="23392184" Version="3.1.12.29719" />
55 </ExePackage> 55 </ExePackage>
56 </PackageGroup> 56 </PackageGroup>
diff --git a/src/ext/NetFx/wixlib/NetFx452.wxs b/src/ext/NetFx/wixlib/NetFx452.wxs
index 33f79db4..6c55a563 100644
--- a/src/ext/NetFx/wixlib/NetFx452.wxs
+++ b/src/ext/NetFx/wixlib/NetFx452.wxs
@@ -31,7 +31,7 @@
31 <WixVariable Id="NetFx452WebPackageDirectory" Value="redist\" Overridable="yes" /> 31 <WixVariable Id="NetFx452WebPackageDirectory" Value="redist\" Overridable="yes" />
32 32
33 <PackageGroup Id="$(var.NetFx452WebId)"> 33 <PackageGroup Id="$(var.NetFx452WebId)">
34 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullWebLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx452FullWebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452WebDetectCondition)" InstallCondition="!(wix.NetFx452WebInstallCondition)" Id="$(var.NetFx452WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullWebLog"> 34 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullWebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452WebDetectCondition)" InstallCondition="!(wix.NetFx452WebInstallCondition)" Id="$(var.NetFx452WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullWebLog" Cache="no">
35 <ExePackagePayload Name="!(wix.NetFx452WebPackageDirectory)NDP452-KB2901954-Web.exe" DownloadUrl="$(var.NetFx452WebLink)" Description="Microsoft .NET Framework 4.5.2 Setup" Hash="90A3A5A57EA8A6508EEE0D129303C7CB012AABF651DD9A6BEFC20DA3BBDB09FC47FD087645051D3D45BFF909DFC6E6039C22C4816FBC793A847E81701248639E" ProductName="Microsoft .NET Framework 4.5.2" Size="1118920" Version="4.5.51209.34209" /> 35 <ExePackagePayload Name="!(wix.NetFx452WebPackageDirectory)NDP452-KB2901954-Web.exe" DownloadUrl="$(var.NetFx452WebLink)" Description="Microsoft .NET Framework 4.5.2 Setup" Hash="90A3A5A57EA8A6508EEE0D129303C7CB012AABF651DD9A6BEFC20DA3BBDB09FC47FD087645051D3D45BFF909DFC6E6039C22C4816FBC793A847E81701248639E" ProductName="Microsoft .NET Framework 4.5.2" Size="1118920" Version="4.5.51209.34209" />
36 </ExePackage> 36 </ExePackage>
37 </PackageGroup> 37 </PackageGroup>
@@ -53,7 +53,7 @@
53 <WixVariable Id="NetFx452RedistPackageDirectory" Value="redist\" Overridable="yes" /> 53 <WixVariable Id="NetFx452RedistPackageDirectory" Value="redist\" Overridable="yes" />
54 54
55 <PackageGroup Id="$(var.NetFx452RedistId)"> 55 <PackageGroup Id="$(var.NetFx452RedistId)">
56 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx452FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452RedistDetectCondition)" InstallCondition="!(wix.NetFx452RedistInstallCondition)" Id="$(var.NetFx452RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullLog"> 56 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx452FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx452RedistDetectCondition)" InstallCondition="!(wix.NetFx452RedistInstallCondition)" Id="$(var.NetFx452RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx452FullLog" Cache="no">
57 <ExePackagePayload Name="!(wix.NetFx452RedistPackageDirectory)NDP452-KB2901907-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx452RedistLink)" Description="Microsoft .NET Framework 4.5.2 Setup" Hash="033D457229C4FE6EEA7B1E42A3A39DD4CF6A054C5E996CE036942DD2FE9623FD3A0634BE5DCB88506C1C61BF9FF6076F27B4ECEC38F8CF85603AF018111E584D" ProductName="Microsoft .NET Framework 4.5.2" Size="69999448" Version="4.5.51209.34209" /> 57 <ExePackagePayload Name="!(wix.NetFx452RedistPackageDirectory)NDP452-KB2901907-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx452RedistLink)" Description="Microsoft .NET Framework 4.5.2 Setup" Hash="033D457229C4FE6EEA7B1E42A3A39DD4CF6A054C5E996CE036942DD2FE9623FD3A0634BE5DCB88506C1C61BF9FF6076F27B4ECEC38F8CF85603AF018111E584D" ProductName="Microsoft .NET Framework 4.5.2" Size="69999448" Version="4.5.51209.34209" />
58 </ExePackage> 58 </ExePackage>
59 </PackageGroup> 59 </PackageGroup>
diff --git a/src/ext/NetFx/wixlib/NetFx46.wxs b/src/ext/NetFx/wixlib/NetFx46.wxs
index cb53be2e..99560a98 100644
--- a/src/ext/NetFx/wixlib/NetFx46.wxs
+++ b/src/ext/NetFx/wixlib/NetFx46.wxs
@@ -32,7 +32,7 @@
32 <WixVariable Id="NetFx46WebPackageDirectory" Value="redist\" Overridable="yes" /> 32 <WixVariable Id="NetFx46WebPackageDirectory" Value="redist\" Overridable="yes" />
33 33
34 <PackageGroup Id="$(var.NetFx46WebId)"> 34 <PackageGroup Id="$(var.NetFx46WebId)">
35 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46WebDetectCondition)" InstallCondition="!(wix.NetFx46WebInstallCondition)" Id="$(var.NetFx46WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog"> 35 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46WebDetectCondition)" InstallCondition="!(wix.NetFx46WebInstallCondition)" Id="$(var.NetFx46WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog" Cache="no">
36 <ExePackagePayload Name="!(wix.NetFx46WebPackageDirectory)NDP46-KB3045560-Web.exe" DownloadUrl="$(var.NetFx46WebLink)" Description="Microsoft .NET Framework 4.6 Setup" Hash="CAA5F4D4DB0C9DF34252FCB74CF7762214F69D2419865EBC1E6717E6B1348E59A7599A8DECAAB5CEE6974E59D1AE5A749F8C4EC07C8E4C80C90E77B996B3B205" ProductName="Microsoft .NET Framework 4.6" Size="1497400" Version="4.6.81.0" /> 36 <ExePackagePayload Name="!(wix.NetFx46WebPackageDirectory)NDP46-KB3045560-Web.exe" DownloadUrl="$(var.NetFx46WebLink)" Description="Microsoft .NET Framework 4.6 Setup" Hash="CAA5F4D4DB0C9DF34252FCB74CF7762214F69D2419865EBC1E6717E6B1348E59A7599A8DECAAB5CEE6974E59D1AE5A749F8C4EC07C8E4C80C90E77B996B3B205" ProductName="Microsoft .NET Framework 4.6" Size="1497400" Version="4.6.81.0" />
37 </ExePackage> 37 </ExePackage>
38 </PackageGroup> 38 </PackageGroup>
@@ -54,7 +54,7 @@
54 <WixVariable Id="NetFx46RedistPackageDirectory" Value="redist\" Overridable="yes" /> 54 <WixVariable Id="NetFx46RedistPackageDirectory" Value="redist\" Overridable="yes" />
55 55
56 <PackageGroup Id="$(var.NetFx46RedistId)"> 56 <PackageGroup Id="$(var.NetFx46RedistId)">
57 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46RedistDetectCondition)" InstallCondition="!(wix.NetFx46RedistInstallCondition)" Id="$(var.NetFx46RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog"> 57 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx46FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx46RedistDetectCondition)" InstallCondition="!(wix.NetFx46RedistInstallCondition)" Id="$(var.NetFx46RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx46FullLog" Cache="no">
58 <ExePackagePayload Name="!(wix.NetFx46RedistPackageDirectory)NDP46-KB3045557-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx46RedistLink)" Description="Microsoft .NET Framework 4.6 Setup" Hash="C6FC54F648F822515ADACB4C27E0A6DBD6A3EAF2BA3F069C0002750894ECC453EBED8BC8D4FF2AFD73C7B3445C1DA18D43FE361EA5195AE8522249DF36B84B7E" ProductName="Microsoft .NET Framework 4.6" Size="65444688" Version="4.6.81.0" /> 58 <ExePackagePayload Name="!(wix.NetFx46RedistPackageDirectory)NDP46-KB3045557-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx46RedistLink)" Description="Microsoft .NET Framework 4.6 Setup" Hash="C6FC54F648F822515ADACB4C27E0A6DBD6A3EAF2BA3F069C0002750894ECC453EBED8BC8D4FF2AFD73C7B3445C1DA18D43FE361EA5195AE8522249DF36B84B7E" ProductName="Microsoft .NET Framework 4.6" Size="65444688" Version="4.6.81.0" />
59 </ExePackage> 59 </ExePackage>
60 </PackageGroup> 60 </PackageGroup>
diff --git a/src/ext/NetFx/wixlib/NetFx461.wxs b/src/ext/NetFx/wixlib/NetFx461.wxs
index 95cc2876..d47e75bd 100644
--- a/src/ext/NetFx/wixlib/NetFx461.wxs
+++ b/src/ext/NetFx/wixlib/NetFx461.wxs
@@ -31,7 +31,7 @@
31 <WixVariable Id="NetFx461WebPackageDirectory" Value="redist\" Overridable="yes" /> 31 <WixVariable Id="NetFx461WebPackageDirectory" Value="redist\" Overridable="yes" />
32 32
33 <PackageGroup Id="$(var.NetFx461WebId)"> 33 <PackageGroup Id="$(var.NetFx461WebId)">
34 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461WebDetectCondition)" InstallCondition="!(wix.NetFx461WebInstallCondition)" Id="$(var.NetFx461WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog"> 34 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461WebDetectCondition)" InstallCondition="!(wix.NetFx461WebInstallCondition)" Id="$(var.NetFx461WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog" Cache="no">
35 <ExePackagePayload Name="!(wix.NetFx461WebPackageDirectory)NDP461-KB3102438-Web.exe" DownloadUrl="$(var.NetFx461WebLink)" Description="Microsoft .NET Framework 4.6.1 Setup" Hash="97C4DD638E2E0324D60BDD1D7BE85603EDBF969898469A524FB271EBA5E22B78CA67DB1F568F5C45393381F1E76408C366AD4A68A7BB00E23D1FB820E67DE99E" ProductName="Microsoft .NET Framework 4.6.1" Size="1424328" Version="4.6.1055.0" /> 35 <ExePackagePayload Name="!(wix.NetFx461WebPackageDirectory)NDP461-KB3102438-Web.exe" DownloadUrl="$(var.NetFx461WebLink)" Description="Microsoft .NET Framework 4.6.1 Setup" Hash="97C4DD638E2E0324D60BDD1D7BE85603EDBF969898469A524FB271EBA5E22B78CA67DB1F568F5C45393381F1E76408C366AD4A68A7BB00E23D1FB820E67DE99E" ProductName="Microsoft .NET Framework 4.6.1" Size="1424328" Version="4.6.1055.0" />
36 </ExePackage> 36 </ExePackage>
37 </PackageGroup> 37 </PackageGroup>
@@ -53,7 +53,7 @@
53 <WixVariable Id="NetFx461RedistPackageDirectory" Value="redist\" Overridable="yes" /> 53 <WixVariable Id="NetFx461RedistPackageDirectory" Value="redist\" Overridable="yes" />
54 54
55 <PackageGroup Id="$(var.NetFx461RedistId)"> 55 <PackageGroup Id="$(var.NetFx461RedistId)">
56 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461RedistDetectCondition)" InstallCondition="!(wix.NetFx461RedistInstallCondition)" Id="$(var.NetFx461RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog"> 56 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx461FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx461RedistDetectCondition)" InstallCondition="!(wix.NetFx461RedistInstallCondition)" Id="$(var.NetFx461RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx461FullLog" Cache="no">
57 <ExePackagePayload Name="!(wix.NetFx461RedistPackageDirectory)NDP461-KB3102436-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx461RedistLink)" Description="Microsoft .NET Framework 4.6.1 Setup" Hash="43BEF5EB278CF0954EAE1A6FEEC5A9852B932270508DD10647B9EA32DFD3832ECB58172B28707216709705BF0013FCEBB0B39DB31E38786FC2DAE219622EA00F" ProductName="Microsoft .NET Framework 4.6.1" Size="67681000" Version="4.6.1055.0" /> 57 <ExePackagePayload Name="!(wix.NetFx461RedistPackageDirectory)NDP461-KB3102436-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx461RedistLink)" Description="Microsoft .NET Framework 4.6.1 Setup" Hash="43BEF5EB278CF0954EAE1A6FEEC5A9852B932270508DD10647B9EA32DFD3832ECB58172B28707216709705BF0013FCEBB0B39DB31E38786FC2DAE219622EA00F" ProductName="Microsoft .NET Framework 4.6.1" Size="67681000" Version="4.6.1055.0" />
58 </ExePackage> 58 </ExePackage>
59 </PackageGroup> 59 </PackageGroup>
diff --git a/src/ext/NetFx/wixlib/NetFx462.wxs b/src/ext/NetFx/wixlib/NetFx462.wxs
index 146bae5f..b5e4b533 100644
--- a/src/ext/NetFx/wixlib/NetFx462.wxs
+++ b/src/ext/NetFx/wixlib/NetFx462.wxs
@@ -31,7 +31,7 @@
31 <WixVariable Id="NetFx462WebPackageDirectory" Value="redist\" Overridable="yes" /> 31 <WixVariable Id="NetFx462WebPackageDirectory" Value="redist\" Overridable="yes" />
32 32
33 <PackageGroup Id="$(var.NetFx462WebId)"> 33 <PackageGroup Id="$(var.NetFx462WebId)">
34 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx462FullLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx462FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx462WebDetectCondition)" InstallCondition="!(wix.NetFx462WebInstallCondition)" Id="$(var.NetFx462WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx462FullLog"> 34 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx462FullLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx462WebDetectCondition)" InstallCondition="!(wix.NetFx462WebInstallCondition)" Id="$(var.NetFx462WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx462FullLog" Cache="no">
35 <ExePackagePayload Name="!(wix.NetFx462WebPackageDirectory)NDP462-KB3151802-Web.exe" DownloadUrl="$(var.NetFx462WebLink)" Description="Microsoft .NET Framework 4.6.2 Setup" Hash="72CC8904EA9AC4248874FD888E2C63737DFFF920E4002EB1426318EFD2650D1D5055DFC80C1F398278F7246A3827FC0ED3C044471C67A40CDE66D3796F854DCE" ProductName="Microsoft .NET Framework 4.6.2" Size="1408232" Version="4.6.1590.0" /> 35 <ExePackagePayload Name="!(wix.NetFx462WebPackageDirectory)NDP462-KB3151802-Web.exe" DownloadUrl="$(var.NetFx462WebLink)" Description="Microsoft .NET Framework 4.6.2 Setup" Hash="72CC8904EA9AC4248874FD888E2C63737DFFF920E4002EB1426318EFD2650D1D5055DFC80C1F398278F7246A3827FC0ED3C044471C67A40CDE66D3796F854DCE" ProductName="Microsoft .NET Framework 4.6.2" Size="1408232" Version="4.6.1590.0" />
36 </ExePackage> 36 </ExePackage>
37 </PackageGroup> 37 </PackageGroup>
diff --git a/src/ext/NetFx/wixlib/NetFx472.wxs b/src/ext/NetFx/wixlib/NetFx472.wxs
index 57584a9e..c54e7957 100644
--- a/src/ext/NetFx/wixlib/NetFx472.wxs
+++ b/src/ext/NetFx/wixlib/NetFx472.wxs
@@ -29,7 +29,7 @@
29 <WixVariable Id="NetFx472WebPackageDirectory" Value="redist\" Overridable="yes" /> 29 <WixVariable Id="NetFx472WebPackageDirectory" Value="redist\" Overridable="yes" />
30 30
31 <PackageGroup Id="$(var.NetFx472WebId)"> 31 <PackageGroup Id="$(var.NetFx472WebId)">
32 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472WebLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx472WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472WebDetectCondition)" InstallCondition="!(wix.NetFx472WebInstallCondition)" Id="$(var.NetFx472WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472WebLog"> 32 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472WebDetectCondition)" InstallCondition="!(wix.NetFx472WebInstallCondition)" Id="$(var.NetFx472WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472WebLog" Cache="no">
33 <ExePackagePayload Name="!(wix.NetFx472WebPackageDirectory)NDP472-KB4054531-Web.exe" DownloadUrl="$(var.NetFx472WebLink)" Description="Microsoft .NET Framework 4.7.2 Setup" Hash="213CDEE35D320FE126CB64FE59963DB355062A14592E0B2FC4D45C2EDEF5F6A91305D0674D27152869202E3440090DFC207A0C5EB14D812F61E437907A81887E" ProductName="Microsoft .NET Framework 4.7.2" Size="1399888" Version="4.7.3081.0" /> 33 <ExePackagePayload Name="!(wix.NetFx472WebPackageDirectory)NDP472-KB4054531-Web.exe" DownloadUrl="$(var.NetFx472WebLink)" Description="Microsoft .NET Framework 4.7.2 Setup" Hash="213CDEE35D320FE126CB64FE59963DB355062A14592E0B2FC4D45C2EDEF5F6A91305D0674D27152869202E3440090DFC207A0C5EB14D812F61E437907A81887E" ProductName="Microsoft .NET Framework 4.7.2" Size="1399888" Version="4.7.3081.0" />
34 </ExePackage> 34 </ExePackage>
35 </PackageGroup> 35 </PackageGroup>
@@ -51,7 +51,7 @@
51 <WixVariable Id="NetFx472RedistPackageDirectory" Value="redist\" Overridable="yes" /> 51 <WixVariable Id="NetFx472RedistPackageDirectory" Value="redist\" Overridable="yes" />
52 52
53 <PackageGroup Id="$(var.NetFx472RedistId)"> 53 <PackageGroup Id="$(var.NetFx472RedistId)">
54 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472RedistLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx472RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472RedistDetectCondition)" InstallCondition="!(wix.NetFx472RedistInstallCondition)" Id="$(var.NetFx472RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472RedistLog"> 54 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx472RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx472RedistDetectCondition)" InstallCondition="!(wix.NetFx472RedistInstallCondition)" Id="$(var.NetFx472RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx472RedistLog" Cache="no">
55 <ExePackagePayload Name="!(wix.NetFx472RedistPackageDirectory)NDP472-KB4054530-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx472RedistLink)" Description="Microsoft .NET Framework 4.7.2 Setup" Hash="F4EA32D8189DD269FF02D68B39D7DE866AE5F46EEA5A71BF8F4715FB0E4F8B7AC64B274DFA7BFF69B52C719E65256906C8D92FDD355F52C977175AE3E1919098" ProductName="Microsoft .NET Framework 4.7.2" Size="83940592" Version="4.7.3081.0" /> 55 <ExePackagePayload Name="!(wix.NetFx472RedistPackageDirectory)NDP472-KB4054530-x86-x64-AllOS-ENU.exe" DownloadUrl="$(var.NetFx472RedistLink)" Description="Microsoft .NET Framework 4.7.2 Setup" Hash="F4EA32D8189DD269FF02D68B39D7DE866AE5F46EEA5A71BF8F4715FB0E4F8B7AC64B274DFA7BFF69B52C719E65256906C8D92FDD355F52C977175AE3E1919098" ProductName="Microsoft .NET Framework 4.7.2" Size="83940592" Version="4.7.3081.0" />
56 </ExePackage> 56 </ExePackage>
57 </PackageGroup> 57 </PackageGroup>
diff --git a/src/ext/NetFx/wixlib/NetFx48.wxs b/src/ext/NetFx/wixlib/NetFx48.wxs
index bfca5092..02fe3afa 100644
--- a/src/ext/NetFx/wixlib/NetFx48.wxs
+++ b/src/ext/NetFx/wixlib/NetFx48.wxs
@@ -29,7 +29,7 @@
29 <WixVariable Id="NetFx48WebPackageDirectory" Value="redist\" Overridable="yes" /> 29 <WixVariable Id="NetFx48WebPackageDirectory" Value="redist\" Overridable="yes" />
30 30
31 <PackageGroup Id="$(var.NetFx48WebId)"> 31 <PackageGroup Id="$(var.NetFx48WebId)">
32 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48WebLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx48WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48WebDetectCondition)" InstallCondition="!(wix.NetFx48WebInstallCondition)" Id="$(var.NetFx48WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48WebLog"> 32 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48WebLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48WebDetectCondition)" InstallCondition="!(wix.NetFx48WebInstallCondition)" Id="$(var.NetFx48WebId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48WebLog" Cache="no">
33 <ExePackagePayload Name="!(wix.NetFx48WebPackageDirectory)ndp48-web.exe" DownloadUrl="$(var.NetFx48WebLink)" Description="Microsoft .NET Framework 4.8 Setup" Hash="B09A3F6802741BD5E4A9598FF3F890FEB760D865C98F33B3CF6951C3ADE396C9819D6ECA562CAD6C339C53FC1AF88F7936DD09CBBAC22EE16FC67BAE076646B6" ProductName="Microsoft .NET Framework 4.8" Size="1443272" Version="4.8.4115.0" /> 33 <ExePackagePayload Name="!(wix.NetFx48WebPackageDirectory)ndp48-web.exe" DownloadUrl="$(var.NetFx48WebLink)" Description="Microsoft .NET Framework 4.8 Setup" Hash="B09A3F6802741BD5E4A9598FF3F890FEB760D865C98F33B3CF6951C3ADE396C9819D6ECA562CAD6C339C53FC1AF88F7936DD09CBBAC22EE16FC67BAE076646B6" ProductName="Microsoft .NET Framework 4.8" Size="1443272" Version="4.8.4115.0" />
34 </ExePackage> 34 </ExePackage>
35 </PackageGroup> 35 </PackageGroup>
@@ -51,7 +51,7 @@
51 <WixVariable Id="NetFx48RedistPackageDirectory" Value="redist\" Overridable="yes" /> 51 <WixVariable Id="NetFx48RedistPackageDirectory" Value="redist\" Overridable="yes" />
52 52
53 <PackageGroup Id="$(var.NetFx48RedistId)"> 53 <PackageGroup Id="$(var.NetFx48RedistId)">
54 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48RedistLog].html&quot;" UninstallArguments="/uninstall /q /norestart /log &quot;[NetFx48RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48RedistDetectCondition)" InstallCondition="!(wix.NetFx48RedistInstallCondition)" Id="$(var.NetFx48RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48RedistLog"> 54 <ExePackage InstallArguments="/q /norestart /log &quot;[NetFx48RedistLog].html&quot;" PerMachine="yes" DetectCondition="!(wix.NetFx48RedistDetectCondition)" InstallCondition="!(wix.NetFx48RedistInstallCondition)" Id="$(var.NetFx48RedistId)" Vital="yes" Permanent="yes" Protocol="netfx4" LogPathVariable="NetFx48RedistLog" Cache="no">
55 <ExePackagePayload Name="!(wix.NetFx48RedistPackageDirectory)ndp48-x86-x64-allos-enu.exe" DownloadUrl="$(var.NetFx48RedistLink)" Description="Microsoft .NET Framework 4.8 Setup" Hash="DE7FD1B245BAAAC3A2BA1C2C650492AB71EB689902E281DDA02B069A441BAF9B1CF067D596C2E67C27EB58C341F572D8E7D481EC5D6E3A4CFB8D0C9AA7B55181" ProductName="Microsoft .NET Framework 4.8" Size="121319368" Version="4.8.4115.0" /> 55 <ExePackagePayload Name="!(wix.NetFx48RedistPackageDirectory)ndp48-x86-x64-allos-enu.exe" DownloadUrl="$(var.NetFx48RedistLink)" Description="Microsoft .NET Framework 4.8 Setup" Hash="DE7FD1B245BAAAC3A2BA1C2C650492AB71EB689902E281DDA02B069A441BAF9B1CF067D596C2E67C27EB58C341F572D8E7D481EC5D6E3A4CFB8D0C9AA7B55181" ProductName="Microsoft .NET Framework 4.8" Size="121319368" Version="4.8.4115.0" />
56 </ExePackage> 56 </ExePackage>
57 </PackageGroup> 57 </PackageGroup>