From 56290bb751456801616cc5e599bb33650f720ae4 Mon Sep 17 00:00:00 2001 From: John McPherson Date: Tue, 17 Jun 2025 16:19:29 -0700 Subject: [PATCH 1/2] allow set foreground --- .../Helpers/ManagementDeploymentFactory.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs b/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs index c6e92189aa..02fe3848c9 100644 --- a/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs +++ b/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs @@ -103,7 +103,14 @@ public static ManagementDeploymentFactory Instance /// A instance. public PackageManager CreatePackageManager() { - return Create(PackageManagerType, PackageManagerIid); + var result = Create(PackageManagerType, PackageManagerIid); + + if (!Utilities.UsesInProcWinget) + { + _ = CoAllowSetForegroundWindow(result, IntPtr.Zero); + } + + return result; } /// @@ -222,5 +229,8 @@ private static T Create(Type? type, in Guid iid) return (T)instance; #endif } + + [DllImport("ole32.dll", ExactSpelling = true, PreserveSig = true)] + private static extern int CoAllowSetForegroundWindow([MarshalAs(UnmanagedType.IUnknown)] object pUnk, IntPtr lpvReserved); } } From 08041504b7b9d8bb8f63c9f51118f1d7def815aa Mon Sep 17 00:00:00 2001 From: John McPherson Date: Tue, 17 Jun 2025 16:23:32 -0700 Subject: [PATCH 2/2] spelling --- .../Helpers/ManagementDeploymentFactory.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs b/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs index 02fe3848c9..76d9121e4a 100644 --- a/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs +++ b/src/PowerShell/Microsoft.WinGet.Client.Engine/Helpers/ManagementDeploymentFactory.cs @@ -231,6 +231,6 @@ private static T Create(Type? type, in Guid iid) } [DllImport("ole32.dll", ExactSpelling = true, PreserveSig = true)] - private static extern int CoAllowSetForegroundWindow([MarshalAs(UnmanagedType.IUnknown)] object pUnk, IntPtr lpvReserved); + private static extern int CoAllowSetForegroundWindow([MarshalAs(UnmanagedType.IUnknown)] object pUnk, IntPtr reserved); } }