diff --git a/doc/newsfragments/restore-dpiawareness.bugfix b/doc/newsfragments/restore-dpiawareness.bugfix
new file mode 100644
index 00000000..29b5ddf9
--- /dev/null
+++ b/doc/newsfragments/restore-dpiawareness.bugfix
@@ -0,0 +1 @@
+Fixed a regression in 2.4.0 that caused Barrier to not support scaling other than 100% (https://github.com/debauchee/barrier/issues/1462).
\ No newline at end of file
diff --git a/src/cmd/barrierc/CMakeLists.txt b/src/cmd/barrierc/CMakeLists.txt
index 45e9ab0e..f887b043 100644
--- a/src/cmd/barrierc/CMakeLists.txt
+++ b/src/cmd/barrierc/CMakeLists.txt
@@ -21,7 +21,9 @@ set(sources
if (WIN32)
file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp")
- list(APPEND sources barrierc.rc)
+ list(APPEND sources
+ barrierc.rc
+ barrierc.exe.manifest)
elseif (APPLE)
file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp")
diff --git a/src/cmd/barrierc/barrierc.exe.manifest b/src/cmd/barrierc/barrierc.exe.manifest
new file mode 100644
index 00000000..255cef01
--- /dev/null
+++ b/src/cmd/barrierc/barrierc.exe.manifest
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+ true
+ PerMonitor
+
+
+
\ No newline at end of file
diff --git a/src/cmd/barriers/CMakeLists.txt b/src/cmd/barriers/CMakeLists.txt
index c9fa7508..e0dc6a0b 100644
--- a/src/cmd/barriers/CMakeLists.txt
+++ b/src/cmd/barriers/CMakeLists.txt
@@ -21,7 +21,9 @@ set(sources
if (WIN32)
file(GLOB arch_headers "MSWindows*.h")
file(GLOB arch_sources "MSWindows*.cpp")
- list(APPEND sources barriers.rc)
+ list(APPEND sources
+ barriers.rc
+ barriers.exe.manifest)
elseif (APPLE)
file(GLOB arch_headers "OSX*.h")
file(GLOB arch_sources "OSX*.cpp")
diff --git a/src/cmd/barriers/barriers.exe.manifest b/src/cmd/barriers/barriers.exe.manifest
new file mode 100644
index 00000000..255cef01
--- /dev/null
+++ b/src/cmd/barriers/barriers.exe.manifest
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+ true
+ PerMonitor
+
+
+
\ No newline at end of file