From 5e3e0660e75364a72f9af32a6e3641a552d7a053 Mon Sep 17 00:00:00 2001
From: Kai Tao <69313318+vanzue@users.noreply.github.com>
Date: Wed, 12 Nov 2025 10:39:21 +0800
Subject: [PATCH] Revert hybrid crt to make powertoys quit safely (#43484)
## Summary of the Pull Request
After enabling Hybrid CRT, the PowerToys process failed to properly
unload some module interface DLLs when quit application. The root cause
is still unclear, but this change reverts the behavior to ensure safe
unloading.
## PR Checklist
- [ ] Closes: #43413
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
## Detailed Description of the Pull Request / Additional comments
## Validation Steps Performed
Can unload dll safely when quit powertoys
---
Cpp.Build.props | 52 +-----------------
.../PowerToysSetupCustomActionsVNext.vcxproj | 2 +
.../PowerToysSetupVNext/Directory.Build.props | 3 +-
.../SilentFilesInUseBAFunction.vcxproj | 55 +++++++++++++++++--
.../SilentFilesInUseBAFunctions.cpp | 8 ++-
.../CalculatorEngineCommon.vcxproj | 50 ++++++++++++++++-
src/common/interop/PowerToys.Interop.vcxproj | 2 +
.../BackgroundActivator.vcxproj | 10 ++++
.../CropAndLock/CropAndLock.vcxproj | 4 ++
.../FileLocksmithLibInterop.vcxproj | 2 +
.../FindMyMouse/FindMyMouse.vcxproj | 2 +
.../MouseHighlighter/MouseHighlighter.vcxproj | 2 +
.../MouseUtils/MouseJump/MouseJump.vcxproj | 2 +
.../MousePointerCrosshairs.vcxproj | 2 +
.../NewShellExtensionContextMenu.vcxproj | 4 ++
.../WorkspacesLauncher.vcxproj | 2 +
.../WorkspacesSnapshotTool.vcxproj | 2 +
.../WorkspacesWindowArranger.vcxproj | 2 +
src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj | 6 ++
.../AlwaysOnTop/AlwaysOnTop.vcxproj | 2 +
.../CmdPalKeyboardService.vcxproj | 39 +++++++++++++
.../Microsoft.Terminal.UI.vcxproj | 24 ++++++++
...icrosoft.CommandPalette.Extensions.vcxproj | 28 ++++++++++
.../fancyzones/FancyZones/FancyZones.vcxproj | 2 +
.../KeyboardManagerEditor.vcxproj | 2 +
.../PowerRename.FuzzingTest.vcxproj | 1 +
.../ModuleTemplate/ModuleTemplate.vcxproj | 2 +
.../ModuleTemplateCompileTest.vcxproj | 2 +
28 files changed, 255 insertions(+), 59 deletions(-)
diff --git a/Cpp.Build.props b/Cpp.Build.props
index 99738fd0dc..5a4538f940 100644
--- a/Cpp.Build.props
+++ b/Cpp.Build.props
@@ -1,56 +1,6 @@
-
-
- $(Configuration)
-
-
-
-
-
-
-
-
-
-
- MultiThreadedDebug
-
-
-
- %(IgnoreSpecificDefaultLibraries);libucrtd.lib
- %(AdditionalOptions) /defaultlib:ucrtd.lib
-
-
-
-
-
- MultiThreaded
-
-
-
- %(IgnoreSpecificDefaultLibraries);libucrt.lib
- %(AdditionalOptions) /defaultlib:ucrt.lib
-
-
-
-
-
-
- MultiThreadedDebugDLL
-
-
-
-
- MultiThreadedDLL
-
-
@@ -123,6 +73,7 @@
_DEBUG;%(PreprocessorDefinitions)
Disabled
+ MultiThreadedDebug
true
@@ -132,6 +83,7 @@
NDEBUG;%(PreprocessorDefinitions)
MaxSpeed
+ MultiThreaded
true
true
diff --git a/installer/PowerToysSetupCustomActionsVNext/PowerToysSetupCustomActionsVNext.vcxproj b/installer/PowerToysSetupCustomActionsVNext/PowerToysSetupCustomActionsVNext.vcxproj
index 21b0e75837..ae50cdcedb 100644
--- a/installer/PowerToysSetupCustomActionsVNext/PowerToysSetupCustomActionsVNext.vcxproj
+++ b/installer/PowerToysSetupCustomActionsVNext/PowerToysSetupCustomActionsVNext.vcxproj
@@ -110,6 +110,7 @@
Disabled
_DEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions)
EnableFastChecks
+ MultiThreadedDebug
true
@@ -122,6 +123,7 @@
MaxSpeed
true
NDEBUG;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions)
+ MultiThreaded
true
diff --git a/installer/PowerToysSetupVNext/Directory.Build.props b/installer/PowerToysSetupVNext/Directory.Build.props
index 69a63832d1..505e3cf844 100644
--- a/installer/PowerToysSetupVNext/Directory.Build.props
+++ b/installer/PowerToysSetupVNext/Directory.Build.props
@@ -1,5 +1,4 @@
-
@@ -9,4 +8,4 @@
$(BaseIntermediateOutputPath)
-
\ No newline at end of file
+
diff --git a/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunction.vcxproj b/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunction.vcxproj
index d45e32f87c..3972c1b0f7 100644
--- a/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunction.vcxproj
+++ b/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunction.vcxproj
@@ -1,7 +1,30 @@
+
+
+
+
+ Debug
+ ARM64
+
+
+ Release
+ ARM64
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
{F8B9F842-F5C3-4A2D-8C85-7F8B9E2B4F1D}
+ DynamicLibrary
+ Unicode
SilentFilesInUseBAFunction
PowerToysSetupCustomActionsVNext
bafunctions.def
@@ -10,6 +33,7 @@
+
DynamicLibrary
true
@@ -41,10 +65,7 @@
-
- Use
- precomp.h
-
+
Create
precomp.h
@@ -71,5 +92,31 @@
+
+
+
+ _DEBUG;%(PreprocessorDefinitions)
+ Disabled
+ MultiThreadedDebug
+
+
+ true
+
+
+
+
+ NDEBUG;%(PreprocessorDefinitions)
+ MaxSpeed
+ MultiThreaded
+ true
+ true
+
+
+ true
+ true
+ true
+
+
+
diff --git a/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunctions.cpp b/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunctions.cpp
index ceccde5f0d..9b9e5d570f 100644
--- a/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunctions.cpp
+++ b/installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunctions.cpp
@@ -18,6 +18,7 @@ public: // IBootstrapperApplication
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "*** CUSTOM BA FUNCTION SYSTEM ACTIVE *** Running detect begin BA function. fCached=%d, registrationType=%d, cPackages=%u, fCancel=%d", fCached, registrationType, cPackages, *pfCancel);
+ LExit:
return hr;
}
@@ -31,6 +32,12 @@ public: // IBAFunctions
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "*** CUSTOM BA FUNCTION SYSTEM ACTIVE *** Running plan begin BA function. cPackages=%u, fCancel=%d", cPackages, *pfCancel);
+ //-------------------------------------------------------------------------------------------------
+ // YOUR CODE GOES HERE
+ // BalExitOnFailure(hr, "Change this message to represent real error handling.");
+ //-------------------------------------------------------------------------------------------------
+
+ LExit:
return hr;
}
@@ -56,7 +63,6 @@ public: // IBAFunctions
)
{
HRESULT hr = S_OK;
- UNREFERENCED_PARAMETER(source);
BalLog(BOOTSTRAPPER_LOG_LEVEL_STANDARD, "*** CUSTOM BA FUNCTION CALLED *** Running OnExecuteFilesInUse BA function. packageId=%ls, cFiles=%u, recommendation=%d", wzPackageId, cFiles, nRecommendation);
diff --git a/src/common/CalculatorEngineCommon/CalculatorEngineCommon.vcxproj b/src/common/CalculatorEngineCommon/CalculatorEngineCommon.vcxproj
index ff9332cfc0..43f4749892 100644
--- a/src/common/CalculatorEngineCommon/CalculatorEngineCommon.vcxproj
+++ b/src/common/CalculatorEngineCommon/CalculatorEngineCommon.vcxproj
@@ -9,6 +9,12 @@
CalculatorEngineCommon
false
+
+
+ true
+ false
+
+
true
@@ -19,9 +25,11 @@
true
- false
+ true
true
Windows Store
+ false
+
@@ -140,5 +148,43 @@
-
+
+
+
+
+
+
+ MultiThreadedDebug
+ stdcpp17
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrtd.lib
+ %(AdditionalOptions) /defaultlib:ucrtd.lib
+
+
+
+
+
+ MultiThreaded
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrt.lib
+ %(AdditionalOptions) /defaultlib:ucrt.lib
+
+
+
\ No newline at end of file
diff --git a/src/common/interop/PowerToys.Interop.vcxproj b/src/common/interop/PowerToys.Interop.vcxproj
index 472119925e..ca29e69cce 100644
--- a/src/common/interop/PowerToys.Interop.vcxproj
+++ b/src/common/interop/PowerToys.Interop.vcxproj
@@ -63,12 +63,14 @@
+ MultiThreadedDebug
true
true
+ MultiThreaded
false
true
false
diff --git a/src/common/notifications/BackgroundActivator/BackgroundActivator.vcxproj b/src/common/notifications/BackgroundActivator/BackgroundActivator.vcxproj
index b2ebc7cb72..077333a664 100644
--- a/src/common/notifications/BackgroundActivator/BackgroundActivator.vcxproj
+++ b/src/common/notifications/BackgroundActivator/BackgroundActivator.vcxproj
@@ -46,6 +46,16 @@
notifications
+
+
+ MultiThreadedDebugDLL
+
+
+
+
+ MultiThreadedDLL
+
+
$(IntDir)pch.pch
diff --git a/src/modules/CropAndLock/CropAndLock/CropAndLock.vcxproj b/src/modules/CropAndLock/CropAndLock/CropAndLock.vcxproj
index 71b535c629..c3e9e4f3f1 100644
--- a/src/modules/CropAndLock/CropAndLock/CropAndLock.vcxproj
+++ b/src/modules/CropAndLock/CropAndLock/CropAndLock.vcxproj
@@ -82,6 +82,8 @@
Disabled
_DEBUG;%(PreprocessorDefinitions)
+ MultiThreadedDebug
+ MultiThreadedDebug
false
@@ -93,6 +95,8 @@
true
true
NDEBUG;%(PreprocessorDefinitions)
+ MultiThreaded
+ MultiThreaded
true
diff --git a/src/modules/FileLocksmith/FileLocksmithLibInterop/FileLocksmithLibInterop.vcxproj b/src/modules/FileLocksmith/FileLocksmithLibInterop/FileLocksmithLibInterop.vcxproj
index 184eec3342..c4489cdad8 100644
--- a/src/modules/FileLocksmith/FileLocksmithLibInterop/FileLocksmithLibInterop.vcxproj
+++ b/src/modules/FileLocksmith/FileLocksmithLibInterop/FileLocksmithLibInterop.vcxproj
@@ -39,6 +39,7 @@
_DEBUG;%(PreprocessorDefinitions)
+ MultiThreadedDebugDLL
true
true
@@ -48,6 +49,7 @@
NDEBUG;%(PreprocessorDefinitions)
true
true
+ MultiThreadedDLL
false
true
false
diff --git a/src/modules/MouseUtils/FindMyMouse/FindMyMouse.vcxproj b/src/modules/MouseUtils/FindMyMouse/FindMyMouse.vcxproj
index 0f444134ec..d127de245e 100644
--- a/src/modules/MouseUtils/FindMyMouse/FindMyMouse.vcxproj
+++ b/src/modules/MouseUtils/FindMyMouse/FindMyMouse.vcxproj
@@ -64,6 +64,7 @@
true
_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreadedDebug
stdcpplatest
@@ -81,6 +82,7 @@
true
NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreaded
stdcpplatest
diff --git a/src/modules/MouseUtils/MouseHighlighter/MouseHighlighter.vcxproj b/src/modules/MouseUtils/MouseHighlighter/MouseHighlighter.vcxproj
index ecd6ea3ec4..df0df021da 100644
--- a/src/modules/MouseUtils/MouseHighlighter/MouseHighlighter.vcxproj
+++ b/src/modules/MouseUtils/MouseHighlighter/MouseHighlighter.vcxproj
@@ -48,6 +48,7 @@
true
_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreadedDebug
stdcpplatest
@@ -65,6 +66,7 @@
true
NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreaded
stdcpplatest
diff --git a/src/modules/MouseUtils/MouseJump/MouseJump.vcxproj b/src/modules/MouseUtils/MouseJump/MouseJump.vcxproj
index 89abed873a..29e8f444bf 100644
--- a/src/modules/MouseUtils/MouseJump/MouseJump.vcxproj
+++ b/src/modules/MouseUtils/MouseJump/MouseJump.vcxproj
@@ -48,6 +48,7 @@
true
_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreadedDebug
stdcpplatest
@@ -65,6 +66,7 @@
true
NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreaded
stdcpplatest
diff --git a/src/modules/MouseUtils/MousePointerCrosshairs/MousePointerCrosshairs.vcxproj b/src/modules/MouseUtils/MousePointerCrosshairs/MousePointerCrosshairs.vcxproj
index 7fef06e960..58668c663f 100644
--- a/src/modules/MouseUtils/MousePointerCrosshairs/MousePointerCrosshairs.vcxproj
+++ b/src/modules/MouseUtils/MousePointerCrosshairs/MousePointerCrosshairs.vcxproj
@@ -49,6 +49,7 @@
true
_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreadedDebug
stdcpplatest
@@ -66,6 +67,7 @@
true
NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreaded
stdcpplatest
diff --git a/src/modules/NewPlus/NewShellExtensionContextMenu/NewShellExtensionContextMenu.vcxproj b/src/modules/NewPlus/NewShellExtensionContextMenu/NewShellExtensionContextMenu.vcxproj
index c650439b65..7dade586e7 100644
--- a/src/modules/NewPlus/NewShellExtensionContextMenu/NewShellExtensionContextMenu.vcxproj
+++ b/src/modules/NewPlus/NewShellExtensionContextMenu/NewShellExtensionContextMenu.vcxproj
@@ -67,6 +67,8 @@
false
dll.def
runtimeobject.lib;$(CoreLibraryDependencies)
+
+
del $(OutDir)\NewPlusPackage.msix /q
@@ -98,6 +100,8 @@ MakeAppx.exe pack /d . /p $(OutDir)NewPlusPackage.msix /nv
false
dll.def
runtimeobject.lib;$(CoreLibraryDependencies)
+
+
del $(OutDir)\NewPlusPackage.msix /q
diff --git a/src/modules/Workspaces/WorkspacesLauncher/WorkspacesLauncher.vcxproj b/src/modules/Workspaces/WorkspacesLauncher/WorkspacesLauncher.vcxproj
index 7be5219a9f..9d4fc4bcab 100644
--- a/src/modules/Workspaces/WorkspacesLauncher/WorkspacesLauncher.vcxproj
+++ b/src/modules/Workspaces/WorkspacesLauncher/WorkspacesLauncher.vcxproj
@@ -29,6 +29,7 @@
_DEBUG;%(PreprocessorDefinitions)
Disabled
true
+ MultiThreadedDebug
true
@@ -39,6 +40,7 @@
NDEBUG;%(PreprocessorDefinitions)
MaxSpeed
false
+ MultiThreaded
true
true
diff --git a/src/modules/Workspaces/WorkspacesSnapshotTool/WorkspacesSnapshotTool.vcxproj b/src/modules/Workspaces/WorkspacesSnapshotTool/WorkspacesSnapshotTool.vcxproj
index ad7a96ec84..05e4241c1c 100644
--- a/src/modules/Workspaces/WorkspacesSnapshotTool/WorkspacesSnapshotTool.vcxproj
+++ b/src/modules/Workspaces/WorkspacesSnapshotTool/WorkspacesSnapshotTool.vcxproj
@@ -29,6 +29,7 @@
_DEBUG;%(PreprocessorDefinitions)
Disabled
true
+ MultiThreadedDebug
true
@@ -39,6 +40,7 @@
NDEBUG;%(PreprocessorDefinitions)
MaxSpeed
false
+ MultiThreaded
true
true
diff --git a/src/modules/Workspaces/WorkspacesWindowArranger/WorkspacesWindowArranger.vcxproj b/src/modules/Workspaces/WorkspacesWindowArranger/WorkspacesWindowArranger.vcxproj
index 4555f6257b..2451be2470 100644
--- a/src/modules/Workspaces/WorkspacesWindowArranger/WorkspacesWindowArranger.vcxproj
+++ b/src/modules/Workspaces/WorkspacesWindowArranger/WorkspacesWindowArranger.vcxproj
@@ -29,6 +29,7 @@
_DEBUG;%(PreprocessorDefinitions)
Disabled
true
+ MultiThreadedDebug
true
@@ -39,6 +40,7 @@
NDEBUG;%(PreprocessorDefinitions)
MaxSpeed
false
+ MultiThreaded
true
true
diff --git a/src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj b/src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj
index 0907ff3554..b1f91a5228 100644
--- a/src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj
+++ b/src/modules/ZoomIt/ZoomIt/ZoomIt.vcxproj
@@ -81,6 +81,7 @@
MaxSpeed
__ZOOMIT_POWERTOYS__;_UNICODE;UNICODE;WINVER=0x602;NDEBUG;_WIN32_WINNT=0x602;_WIN32_WINDOWS=0x501;WIN32;_WINDOWS;MSVC6=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)
true
+ MultiThreaded
true
@@ -102,6 +103,7 @@
MaxSpeed
__ZOOMIT_POWERTOYS__;_UNICODE;UNICODE;WINVER=0x602;NDEBUG;_WIN32_WINNT=0x602;_WIN32_WINDOWS=0x501;WIN32;_WINDOWS;MSVC6=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)
true
+ MultiThreaded
true
@@ -124,6 +126,7 @@
MaxSpeed
__ZOOMIT_POWERTOYS__;_UNICODE;UNICODE;WINVER=0x602;NDEBUG;_WIN32_WINNT=0x602;_WIN32_WINDOWS=0x501;WIN32;_WINDOWS;MSVC6=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)
true
+ MultiThreaded
true
@@ -145,6 +148,7 @@
Disabled
__ZOOMIT_POWERTOYS__;_UNICODE;UNICODE;WINVER=0x0602;_DEBUG;_WIN32_WINNT=0x602.MSVC6;_WIN32_WINDOWS=0x600;WIN32;_WINDOWS;_WIN32_WINNT=0x602;MSVC6=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)
EnableFastChecks
+ MultiThreadedDebug
_DEBUG;_M_IX86;%(PreprocessorDefinitions)
@@ -165,6 +169,7 @@
Disabled
__ZOOMIT_POWERTOYS__;_UNICODE;UNICODE;WINVER=0x0602;_DEBUG;_WIN32_WINNT=0x602.MSVC6;_WIN32_WINDOWS=0x600;WIN32;_WINDOWS;_WIN32_WINNT=0x602;MSVC6=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)
EnableFastChecks
+ MultiThreadedDebug
_DEBUG;_M_X64;%(PreprocessorDefinitions)
@@ -186,6 +191,7 @@
Disabled
__ZOOMIT_POWERTOYS__;_UNICODE;UNICODE;WINVER=0x0602;_DEBUG;_WIN32_WINNT=0x602.MSVC6;_WIN32_WINDOWS=0x600;WIN32;_WINDOWS;_WIN32_WINNT=0x602;MSVC6=1;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)
EnableFastChecks
+ MultiThreadedDebug
_DEBUG;_M_ARM64;%(PreprocessorDefinitions)
diff --git a/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.vcxproj b/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.vcxproj
index 5adad25bac..bf3e5c6851 100644
--- a/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.vcxproj
+++ b/src/modules/alwaysontop/AlwaysOnTop/AlwaysOnTop.vcxproj
@@ -29,6 +29,7 @@
_DEBUG;%(PreprocessorDefinitions)
Disabled
true
+ MultiThreadedDebug
true
@@ -39,6 +40,7 @@
NDEBUG;%(PreprocessorDefinitions)
MaxSpeed
false
+ MultiThreaded
true
true
diff --git a/src/modules/cmdpal/CmdPalKeyboardService/CmdPalKeyboardService.vcxproj b/src/modules/cmdpal/CmdPalKeyboardService/CmdPalKeyboardService.vcxproj
index 4e20f55383..f891ce96e6 100644
--- a/src/modules/cmdpal/CmdPalKeyboardService/CmdPalKeyboardService.vcxproj
+++ b/src/modules/cmdpal/CmdPalKeyboardService/CmdPalKeyboardService.vcxproj
@@ -141,4 +141,43 @@
+
+
+
+
+
+
+ MultiThreadedDebug
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrtd.lib
+ %(AdditionalOptions) /defaultlib:ucrtd.lib
+
+
+
+
+
+ MultiThreaded
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrt.lib
+ %(AdditionalOptions) /defaultlib:ucrt.lib
+
+
+
+
\ No newline at end of file
diff --git a/src/modules/cmdpal/Microsoft.Terminal.UI/Microsoft.Terminal.UI.vcxproj b/src/modules/cmdpal/Microsoft.Terminal.UI/Microsoft.Terminal.UI.vcxproj
index 347b5a1bc6..6e474cf5f3 100644
--- a/src/modules/cmdpal/Microsoft.Terminal.UI/Microsoft.Terminal.UI.vcxproj
+++ b/src/modules/cmdpal/Microsoft.Terminal.UI/Microsoft.Terminal.UI.vcxproj
@@ -74,11 +74,35 @@
stdcpp20
+
+
+ MultiThreadedDebug
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrtd.lib
+ %(AdditionalOptions) /defaultlib:ucrtd.lib /profile /opt:ref /opt:icf
+
stdcpp20
+
+
+ MultiThreaded
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrt.lib
+ %(AdditionalOptions) /defaultlib:ucrt.lib /profile /opt:ref /opt:icf
+
diff --git a/src/modules/cmdpal/extensionsdk/Microsoft.CommandPalette.Extensions/Microsoft.CommandPalette.Extensions.vcxproj b/src/modules/cmdpal/extensionsdk/Microsoft.CommandPalette.Extensions/Microsoft.CommandPalette.Extensions.vcxproj
index 92baf3dfa6..a6cad871ab 100644
--- a/src/modules/cmdpal/extensionsdk/Microsoft.CommandPalette.Extensions/Microsoft.CommandPalette.Extensions.vcxproj
+++ b/src/modules/cmdpal/extensionsdk/Microsoft.CommandPalette.Extensions/Microsoft.CommandPalette.Extensions.vcxproj
@@ -68,6 +68,34 @@
true
false
+
+
+
+ MultiThreadedDebug
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrtd.lib
+ %(AdditionalOptions) /defaultlib:ucrtd.lib /profile /opt:ref /opt:icf
+
+
+
+
+
+ MultiThreaded
+
+
+
+ %(IgnoreSpecificDefaultLibraries);libucrt.lib
+ %(AdditionalOptions) /defaultlib:ucrt.lib /profile /opt:ref /opt:icf
+
+
diff --git a/src/modules/fancyzones/FancyZones/FancyZones.vcxproj b/src/modules/fancyzones/FancyZones/FancyZones.vcxproj
index 7aab504830..b54ee19e34 100644
--- a/src/modules/fancyzones/FancyZones/FancyZones.vcxproj
+++ b/src/modules/fancyzones/FancyZones/FancyZones.vcxproj
@@ -26,6 +26,7 @@
_DEBUG;%(PreprocessorDefinitions)
Disabled
true
+ MultiThreadedDebug
true
@@ -36,6 +37,7 @@
NDEBUG;%(PreprocessorDefinitions)
MaxSpeed
false
+ MultiThreaded
true
true
diff --git a/src/modules/keyboardmanager/KeyboardManagerEditor/KeyboardManagerEditor.vcxproj b/src/modules/keyboardmanager/KeyboardManagerEditor/KeyboardManagerEditor.vcxproj
index 8a4fa95889..3c124d63e4 100644
--- a/src/modules/keyboardmanager/KeyboardManagerEditor/KeyboardManagerEditor.vcxproj
+++ b/src/modules/keyboardmanager/KeyboardManagerEditor/KeyboardManagerEditor.vcxproj
@@ -30,6 +30,7 @@
_DEBUG;%(PreprocessorDefinitions)
Disabled
true
+ MultiThreadedDebug
true
@@ -40,6 +41,7 @@
NDEBUG;%(PreprocessorDefinitions)
MaxSpeed
false
+ MultiThreaded
true
true
diff --git a/src/modules/powerrename/PowerRename.FuzzingTest/PowerRename.FuzzingTest.vcxproj b/src/modules/powerrename/PowerRename.FuzzingTest/PowerRename.FuzzingTest.vcxproj
index 0bfb8d2db1..16272dba69 100644
--- a/src/modules/powerrename/PowerRename.FuzzingTest/PowerRename.FuzzingTest.vcxproj
+++ b/src/modules/powerrename/PowerRename.FuzzingTest/PowerRename.FuzzingTest.vcxproj
@@ -44,6 +44,7 @@
true
NotUsing
/fsanitize=address /fsanitize-coverage=inline-8bit-counters /fsanitize-coverage=edge /fsanitize-coverage=trace-cmp /fsanitize-coverage=trace-div %(AdditionalOptions)
+ MultiThreaded
stdcpplatest
..\;..\lib\;..\..\..\;%(AdditionalIncludeDirectories)
diff --git a/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj b/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj
index 39c656a6cc..028007de67 100644
--- a/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj
+++ b/tools/project_template/ModuleTemplate/ModuleTemplate.vcxproj
@@ -46,6 +46,7 @@
true
_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreadedDebug
stdcpplatest
@@ -63,6 +64,7 @@
true
NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
true
+ MultiThreaded
stdcpplatest
diff --git a/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj b/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj
index a1ef0522aa..297516b0d5 100644
--- a/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj
+++ b/tools/project_template/ModuleTemplate/ModuleTemplateCompileTest.vcxproj
@@ -47,6 +47,7 @@
Disabled
true
_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ MultiThreadedDebug
stdcpplatest
@@ -63,6 +64,7 @@
true
true
NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ MultiThreaded
stdcpplatest