fix: force stop widget processes to prevent prompt (#713)

This commit is contained in:
Jeffrey
2026-07-23 22:23:00 +02:00
committed by GitHub
parent a9c1736e46
commit 68cacfce89
2 changed files with 9 additions and 1 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ function Invoke-FeatureApply {
Write-Host "> $applyText..."
# Stop widgets related processes before removing the app packages to prevent potential issues
if (-not $script:Params.ContainsKey("WhatIf")) {
Get-Process *Widget* -ErrorAction SilentlyContinue | Stop-Process
Get-Process *Widget* -ErrorAction SilentlyContinue | Stop-Process -Force -ErrorAction SilentlyContinue
}
Remove-SelectedApps @('Microsoft.StartExperiencesApp','MicrosoftWindows.Client.WebExperience','Microsoft.WidgetsPlatformRuntime')
+8
View File
@@ -132,6 +132,14 @@ Describe 'Invoke-FeatureApply' {
Should -Invoke Stop-Process -Times 0 -Exactly
}
It 'stops widget processes without a confirmation prompt' {
Mock Get-Process { [PSCustomObject]@{ Name = 'Widgets' } }
Invoke-FeatureApply -FeatureId 'DisableWidgets'
Should -Invoke Stop-Process -Times 1 -Exactly -ParameterFilter { $Force -and $ErrorAction -eq 'SilentlyContinue' }
}
It 'enables the expected optional Windows features' {
Invoke-FeatureApply -FeatureId 'EnableWindowsSandbox'
Invoke-FeatureApply -FeatureId 'EnableWindowsSubsystemForLinux'