From c90b04429e382a31b5b7a70a6dcc443d9e7dfd59 Mon Sep 17 00:00:00 2001 From: DireDoch Date: Tue, 1 Sep 2026 19:14:29 -0400 Subject: [PATCH] Add a CheckWinget manifest Action (#12) CheckPath needs an install path, which moves between versions and between machines - a per-user MSIX lands somewhere quite different from a per-machine MSI. For anything that arrived through App Installer the package id is the stable thing to check, so a sixth Action asks winget about it. Verify only. It never installs, never upgrades, never calls winget install: the check is `winget list --id --exact`, with --accept-source-agreements and --disable-interactivity because a winget that has never run otherwise blocks on a source-agreement prompt and nothing in a one-shot run with nobody watching may stop for input. Without --exact a bare name matches several packages and the check means nothing. Absence flows through Test-WcdTargetPresent like every other Action, so Optional keeps meaning exactly what it means elsewhere: a note when absent, a warning when the entry is required. Exit code 0 is installed and the "no applications found" code is absent; any other code means winget itself failed, which is an error naming the command to run by hand rather than a package quietly reported as missing. winget is absent from LTSC and stripped images, so it is probed once before the loop. Missing, that is one WARNING naming the real cause, and every CheckWinget entry becomes a Manual Step - one honest cause and N actionable rows, instead of N identical failures all pointing back at the same thing. Not Not Applicable: these are packages that genuinely should have been verified. Carrying that needs a MANUAL Result severity, which the checklist renders as a Manual Step. Manifest, README and manual document the Action and the winget-missing behaviour, and the manifest carries a commented-out example. PDF rebuilt with typst 0.15.1, the version CI pins. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01TmnKA5z4astW8XswYipd7j --- README.md | 7 ++ WinContextDeploy.psd1 | 14 ++++ docs/manual.pdf | Bin 332281 -> 335008 bytes docs/manual.typ | 10 +++ src/Config-Applications.ps1 | 123 +++++++++++++++++++++++++++- src/Invoke-WcdConfiguration.ps1 | 21 +++++ src/WcdHelpers.ps1 | 3 +- tests/Config-Applications.Tests.ps1 | 98 ++++++++++++++++++++++ 8 files changed, 271 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 273c436..730a3b5 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,13 @@ Each entry in `Applications` declares what to do and what to do it to: | `OpenUrl` | Opens a URL in the default browser | | `CheckProcess` | Verifies a process is running; `Target` is an array of names | | `CheckPath` | Verifies a path exists; launches nothing | +| `CheckWinget` | Verifies a winget package id is installed; installs nothing | + +`CheckWinget` asks App Installer whether a package id is installed, which is +stable where an install path is not. It never installs or upgrades anything. On +an image without winget — LTSC and stripped images — the run reports that once +as a warning and every `CheckWinget` entry becomes a **Manual Step** to verify by +hand. `Environment` and `FormFactor` filter an entry to matching machines. A filtered-out target is reported **Not Applicable** in the checklist rather than omitted, so the diff --git a/WinContextDeploy.psd1 b/WinContextDeploy.psd1 index 7436ff9..1d1968d 100644 --- a/WinContextDeploy.psd1 +++ b/WinContextDeploy.psd1 @@ -31,6 +31,9 @@ # CheckProcess verify a process is running, launch nothing # (Target is an array of process names) # CheckPath verify a path exists, launch nothing + # CheckWinget verify a winget package id is installed, + # launch nothing, install nothing (Target is + # the exact package id) # Target Path, URL, command, or array of process names. Required. # Environment Restrict to 'Workstation' or 'Vdi'. Omit to always apply. # FormFactor Restrict to 'Laptop' or 'Desktop'. Omit to always apply. @@ -145,6 +148,17 @@ Prompt = $true } + # Verify a package that arrived through App Installer. The package id + # is stable where an install path is not. Never installs anything, and + # on an image without winget the entry becomes a Manual Step. + # @{ + # Step = 'AppPowerToys' + # Name = 'PowerToys' + # Action = 'CheckWinget' + # Target = 'Microsoft.PowerToys' + # Optional = $true + # } + # @{ # Step = 'AppFleetTelemetry' # Name = 'Fleet telemetry portal' diff --git a/docs/manual.pdf b/docs/manual.pdf index 172b43b802ab3c9e3395e50d5d84ea87a0291e3a..b524380465ac00a97a20b5b7b04a571c06400bb1 100644 GIT binary patch delta 102079 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 delta 98800 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 aK74rJu;HV_0teV*BFKY%jT$XFwERD0Dz#t$ diff --git a/docs/manual.typ b/docs/manual.typ index 12c9809..783489a 100644 --- a/docs/manual.typ +++ b/docs/manual.typ @@ -648,8 +648,18 @@ The manifest-driven core of the tool. It walks the `Applications` list in [`OpenUrl`], [Opens a URL in the default browser.], [`CheckProcess`], [Verifies a process is running. Launches nothing. `Target` is a list of process names, and any one of them counts.], [`CheckPath`], [Verifies a path exists. Launches nothing.], + [`CheckWinget`], [Verifies a winget package id is installed. Launches nothing, and installs nothing. `Target` is the exact package id.], ) +#note[ + `CheckWinget` exists because an install path moves between versions and + between machines — a per-user MSIX lands somewhere quite different from a + per-machine MSI — while the package id does not. winget itself is missing from + LTSC and stripped images: the run probes for it once, reports that as a single + warning, and marks every `CheckWinget` entry as a Manual Step to verify by + hand. One honest cause, and rows a technician can act on. +] + Adding, removing or reordering an application is a manifest edit. No code changes, no new module. diff --git a/src/Config-Applications.ps1 b/src/Config-Applications.ps1 index 79c3df2..489d962 100644 --- a/src/Config-Applications.ps1 +++ b/src/Config-Applications.ps1 @@ -4,7 +4,71 @@ # Adding, removing or reordering an application is a manifest edit; nothing in # this file needs to change for it. -$script:WcdApplicationActions = @('Launch', 'OpenFolder', 'OpenUrl', 'CheckProcess', 'CheckPath') +$script:WcdApplicationActions = @('Launch', 'OpenFolder', 'OpenUrl', 'CheckProcess', 'CheckPath', 'CheckWinget') + +function Test-WcdWingetAvailable { + <# + .SYNOPSIS + Reports whether winget.exe exists on this machine. + + .DESCRIPTION + App Installer is absent from LTSC and stripped images, so a CheckWinget + target cannot be verified there at all. Probed once per run rather than + once per target, so a missing App Installer reads as one cause instead of + N identical failures. + + .OUTPUTS + [bool] $true when winget.exe can be resolved. + + .EXAMPLE + if (-not (Test-WcdWingetAvailable)) { 'verify by hand' } + #> + [CmdletBinding()] + param() + + return ($null -ne (Get-Command -Name 'winget.exe' -ErrorAction SilentlyContinue)) +} + +function Test-WcdWingetPackageInstalled { + <# + .SYNOPSIS + Reports whether winget lists a package id as installed. + + .DESCRIPTION + Verify only: this never installs or upgrades anything. The agreement and + interactivity flags are required, not polish - a winget that has never + run otherwise blocks on a source-agreement prompt, and nothing in a + one-shot run may stop for input. Without --exact a bare name matches + several packages and the check means nothing. + + Exit code 0 means installed. The 'no applications found' code means + absent. Any other code means winget itself failed, which throws rather + than being reported as an absent package. + + .PARAMETER Id + Exact winget package id, for example 'Microsoft.PowerToys'. + + .OUTPUTS + [bool] $true when the package is installed. + + .EXAMPLE + Test-WcdWingetPackageInstalled -Id 'Microsoft.PowerToys' + #> + [CmdletBinding()] + param( + [Parameter(Mandatory)] + [string]$Id + ) + + $output = & winget.exe list --id $Id --exact --accept-source-agreements --disable-interactivity 2>&1 + $exitCode = $LASTEXITCODE + + if ($exitCode -eq 0) { return $true } + # APPINSTALLER_CLI_ERROR_NO_APPLICATIONS_FOUND (0x8a150014): not installed. + if ($exitCode -eq -1978335212) { return $false } + + throw ('winget list failed for {0} (exit {1}): {2}' -f $Id, $exitCode, ((($output | Where-Object { $_ -match '\S' }) -join ' ').Trim())) +} function Test-WcdTargetPresent { <# @@ -15,7 +79,8 @@ function Test-WcdTargetPresent { Only targets that look like filesystem paths are checked here. A bare command such as 'ms-teams.exe' is resolved by the shell, and OpenUrl and CheckProcess targets are not paths at all, so all three are reported - present and left for Invoke-WcdApplicationTarget to attempt. + present and left for Invoke-WcdApplicationTarget to attempt. A + CheckWinget target is a package id, so it is asked of winget instead. .PARAMETER Entry One Application Target entry from the manifest. @@ -36,6 +101,8 @@ function Test-WcdTargetPresent { # us. Only targets that look like filesystem paths are checked up front. if ($Entry.Action -eq 'OpenUrl') { return $true } if ($Entry.Action -eq 'CheckProcess'){ return $true } + # A package id is not a path: winget is the only thing that can answer. + if ($Entry.Action -eq 'CheckWinget') { return (Test-WcdWingetPackageInstalled -Id ([string]$Entry.Target)) } if ([string]$Entry.Target -notmatch '[\\/]') { return $true } return (Test-Path -LiteralPath ([string]$Entry.Target)) @@ -72,6 +139,7 @@ function Invoke-WcdApplicationTarget { 'OpenFolder' { Start-Process 'explorer.exe' -ArgumentList ([string]$Entry.Target) -ErrorAction Stop } 'OpenUrl' { Open-WcdUrl -Url ([string]$Entry.Target) } 'CheckPath' { } # presence already established by Test-WcdTargetPresent + 'CheckWinget'{ } # ditto - and this Action never installs anything 'CheckProcess' { $running = @(Get-Process -Name @($Entry.Target) -ErrorAction SilentlyContinue) if ($running.Count -eq 0) { @@ -97,6 +165,10 @@ function Set-WcdApplicationsConfiguration { declared Optional is a note; an absent required target is a warning naming the manifest key to fix. + CheckWinget targets need winget itself, which some images do not have. + It is probed once before the loop: absent, that is one warning and every + CheckWinget entry becomes a Manual Step rather than a failure. + .PARAMETER Targets Application Target entries to run, already filtered for the current Environment, Form Factor and selected Optional Tools by @@ -139,17 +211,53 @@ function Set-WcdApplicationsConfiguration { return @([pscustomobject]@{ Step = 'ApplicationsSkip'; Success = $true; Error = ''; Severity = 'INFO' }) } + # winget is absent from LTSC and stripped images. Probe once, before the + # loop: one honest cause and N actionable rows beats N identical failures + # all pointing back at the same missing App Installer. + $wingetAvailable = $true + if (@($Targets | Where-Object { $_.Action -eq 'CheckWinget' }).Count -gt 0) { + $wingetAvailable = Test-WcdWingetAvailable + if (-not $wingetAvailable) { + $wingetDetail = 'winget unavailable - App Installer not provisioned on this image' + Write-WcdLog -Path $resolvedLogPath -Level 'WARNING' -Message $wingetDetail + $results += [pscustomobject]@{ + Step = 'WingetUnavailable' + Success = $true + Error = $wingetDetail + Severity = 'WARNING' + RemedyKey = 'WingetMissing' + RemedyArgs = @() + } + } + } + foreach ($entry in @($Targets)) { $step = [string]$entry.Step Invoke-WcdProgressCallback -ProgressCallback $ProgressCallback -ModuleName $moduleName -StepKey $step -Event 'Start' + if ($entry.Action -eq 'CheckWinget' -and -not $wingetAvailable) { + # The cause is reported once above; each package is then a Manual + # Step rather than a package that is genuinely missing. The + # checklist row names it, so the detail does not repeat the name. + $detail = 'winget unavailable - verify by hand.' + + Write-WcdLog -Path $resolvedLogPath -Level 'INFO' -Message ('{0}: {1}' -f $entry.Name, $detail) + Invoke-WcdProgressCallback -ProgressCallback $ProgressCallback -ModuleName $moduleName -StepKey $step -Event 'Finish' -Kind 'warning' + $results += [pscustomobject]@{ Step = $step; Success = $true; Error = $detail; Severity = 'MANUAL' } + continue + } + try { if (-not (Test-WcdTargetPresent -Entry $entry)) { # Absent and declared Optional is a normal outcome on many # machines; absent and required is worth a warning. $severity = if ($entry.Optional) { 'INFO' } else { 'WARNING' } $kind = if ($entry.Optional) { 'success' } else { 'warning' } - $detail = '{0} not found at {1}' -f $entry.Name, $entry.Target + $detail = if ($entry.Action -eq 'CheckWinget') { + 'winget does not list {0} as installed ({1})' -f $entry.Name, $entry.Target + } else { + '{0} not found at {1}' -f $entry.Name, $entry.Target + } Write-WcdLog -Path $resolvedLogPath -Level 'INFO' -Message $detail Invoke-WcdProgressCallback -ProgressCallback $ProgressCallback -ModuleName $moduleName -StepKey $step -Event 'Finish' -Kind $kind @@ -160,7 +268,9 @@ function Set-WcdApplicationsConfiguration { Severity = $severity # An Optional target that is simply absent is a normal # outcome, so it gets a note but no call to action. - RemedyKey = if ($entry.Optional) { '' } else { 'TargetMissing' } + RemedyKey = if ($entry.Optional) { '' } + elseif ($entry.Action -eq 'CheckWinget') { 'WingetPackageMissing' } + else { 'TargetMissing' } RemedyArgs = @([string]$entry.Target, [string]$entry.Name) } continue @@ -186,6 +296,11 @@ function Set-WcdApplicationsConfiguration { } elseif ($entry.Action -eq 'CheckProcess') { $remedyKey = 'ProcessNotRunning' $remedyArgs = @([string]$entry.Name) + } elseif ($entry.Action -eq 'CheckWinget') { + # Reaching here means winget ran and failed, not that the + # package is absent - that is handled as a missing target. + $remedyKey = 'WingetCheckFailed' + $remedyArgs = @([string]$entry.Name, [string]$entry.Target) } else { $remedyKey = 'TargetLaunchFailed' $remedyArgs = @([string]$entry.Target, [string]$entry.Name) diff --git a/src/Invoke-WcdConfiguration.ps1 b/src/Invoke-WcdConfiguration.ps1 index bf83d4b..a712074 100644 --- a/src/Invoke-WcdConfiguration.ps1 +++ b/src/Invoke-WcdConfiguration.ps1 @@ -163,6 +163,7 @@ $T = if ($ScriptUI -eq 'EN') { Helpdesk = 'Helpdesk portal' Favorites = 'Browser favorites' Network = 'Network adapters' + Winget = 'App Installer (winget)' DiskHealth = 'Disk health' DiskFreeSpace = 'Free space' Tpm = 'TPM readiness' @@ -283,6 +284,9 @@ $T = if ($ScriptUI -eq 'EN') { TargetMissing = "Not found at {0}. Update Applications['{1}'].Target in WinContextDeploy.psd1, or remove the entry." TargetLaunchFailed = "Could not start {0}. Check Applications['{1}'].Target and Action in WinContextDeploy.psd1." ProcessNotRunning = 'Confirm {0} is installed and started, or mark the entry Optional in WinContextDeploy.psd1.' + WingetMissing = 'App Installer (winget) is not provisioned on this image, so the packages below could not be checked. Verify them by hand, or install App Installer from the Microsoft Store.' + WingetPackageMissing = "winget does not list {0} as installed. Confirm imaging delivered it, or fix the package id in Applications['{1}'].Target in WinContextDeploy.psd1." + WingetCheckFailed = "winget could not check {0}. Run 'winget list --id {1} --exact' by hand to see why." UnknownAction = "Unknown Action '{0}' for step '{1}'. Valid: {2}." RequiresAdmin = 'Requires Administrator. Relaunch elevated to apply.' PowerCfgFailed = 'powercfg refused the change. Check that no Group Policy pins the power plan.' @@ -329,6 +333,7 @@ $T = if ($ScriptUI -eq 'EN') { Helpdesk = 'Portail de soutien' Favorites = 'Favoris du navigateur' Network = 'Adaptateurs reseau' + Winget = 'App Installer (winget)' DiskHealth = 'Sante du disque' DiskFreeSpace = 'Espace libre' Tpm = 'Etat du TPM' @@ -449,6 +454,9 @@ $T = if ($ScriptUI -eq 'EN') { TargetMissing = "Introuvable a {0}. Corriger Applications['{1}'].Target dans WinContextDeploy.psd1, ou retirer l entree." TargetLaunchFailed = "Impossible de demarrer {0}. Verifier Applications['{1}'].Target et Action dans WinContextDeploy.psd1." ProcessNotRunning = 'Confirmer que {0} est installe et demarre, ou marquer l entree Optional dans WinContextDeploy.psd1.' + WingetMissing = 'App Installer (winget) n est pas provisionne sur cette image, donc les paquets ci-dessous n ont pas pu etre verifies. Les verifier a la main, ou installer App Installer depuis le Microsoft Store.' + WingetPackageMissing = "winget ne liste pas {0} comme installe. Confirmer que l imagerie l a livre, ou corriger l identifiant de paquet dans Applications['{1}'].Target dans WinContextDeploy.psd1." + WingetCheckFailed = "winget n a pas pu verifier {0}. Lancer 'winget list --id {1} --exact' a la main pour voir pourquoi." UnknownAction = "Action '{0}' inconnue pour l etape '{1}'. Valides: {2}." RequiresAdmin = 'Exige les droits Administrateur. Relancer en tant qu administrateur pour appliquer.' PowerCfgFailed = 'powercfg a refuse la modification. Verifier qu aucune GPO ne fige le mode de gestion d alimentation.' @@ -1481,6 +1489,12 @@ function Resolve-WcdAutomaticEntry { return New-WcdDiagnosticEntry -Label $Label -Kind 'warning' -Detail (Get-WcdAggregateDetail -Results $results -StepLabels $StepLabels) -Step $stepId } + # A Step the Module could not run, and deliberately handed back to the + # technician, is a Manual Step rather than a failure. + if ($severity -eq 'MANUAL') { + return New-WcdDiagnosticEntry -Label $Label -Kind 'manual' -Detail (Get-WcdAggregateDetail -Results $results -StepLabels $StepLabels) -Step $stepId + } + if ($missingStepKeys.Count -gt 0) { $missingLabels = @($missingStepKeys | ForEach-Object { if ($StepLabels.ContainsKey($_)) { $StepLabels[$_] } else { $_ } @@ -1725,6 +1739,13 @@ function Get-WcdFinalChecklistEntries { -OptionalTools $ExecutionOptions.OptionalTools | ForEach-Object { [string]$_.Step }) + # Config-Applications reports the winget probe once, and only when the + # manifest has CheckWinget entries at all. + if ($lookup.ContainsKey('WingetUnavailable')) { + $entries += Resolve-WcdAutomaticEntry -Label $T.Checklist.Winget -ResultLookup $lookup ` + -StepKeys @('WingetUnavailable') -StepLabels $StepLabels + } + foreach ($entry in @($Config.Applications)) { $step = [string]$entry.Step $name = [string]$entry.Name diff --git a/src/WcdHelpers.ps1 b/src/WcdHelpers.ps1 index 11e75ae..a015d19 100644 --- a/src/WcdHelpers.ps1 +++ b/src/WcdHelpers.ps1 @@ -313,7 +313,7 @@ function Get-WcdResultSeverity { A Step Result object. .OUTPUTS - [string] 'ERROR', 'WARNING' or 'INFO'. + [string] 'ERROR', 'WARNING', 'MANUAL' or 'INFO'. .EXAMPLE Get-WcdResultSeverity -Result ([pscustomobject]@{ Step = 'X'; Success = $false }) # ERROR @@ -561,6 +561,7 @@ function Get-WcdTechnicalStepLabels { 'DisplayLanguage' = 'Display language' 'KeyboardLayout' = 'Keyboard layout' 'ApplicationsSkip' = 'Applications skipped' + 'WingetUnavailable' = 'App Installer (winget)' 'DeviceManagerStatus' = 'Device Manager' 'DiskHealth' = 'Disk health' 'DiskFreeSpace' = 'Free space' diff --git a/tests/Config-Applications.Tests.ps1 b/tests/Config-Applications.Tests.ps1 index bb2e4d6..ee886dc 100644 --- a/tests/Config-Applications.Tests.ps1 +++ b/tests/Config-Applications.Tests.ps1 @@ -95,4 +95,102 @@ Describe 'Config-Applications' { $results[0].Success | Should -BeTrue $results[0].Error | Should -Match 'not found' } + + Context 'CheckWinget' { + BeforeAll { + # Hors du manifeste partage: les autres tests lancent toutes les + # cibles, et aucune ne doit appeler winget pour de vrai. + $script:WingetTargets = @( + @{ Step = 'AppWinget'; Name = 'PowerToys'; Action = 'CheckWinget'; Target = 'Microsoft.PowerToys' } + ) + $script:WingetOptionalTargets = @( + @{ Step = 'AppWingetOpt'; Name = 'Fancy tool'; Action = 'CheckWinget'; Target = 'Vendor.FancyTool'; Optional = $true } + ) + } + + It 'rapporte un paquet installe comme reussi' { + $logPath = Join-Path $TestDrive 'log_winget_ok.txt' + Mock -CommandName 'Test-WcdWingetAvailable' { $true } + Mock -CommandName 'Test-WcdWingetPackageInstalled' { $true } + + $results = @(Set-WcdApplicationsConfiguration -Targets $script:WingetTargets -OpenApps $true -LogPath $logPath) + + $results.Count | Should -Be 1 + $results[0].Step | Should -Be 'AppWinget' + $results[0].Success | Should -BeTrue + $results[0].Error | Should -BeNullOrEmpty + } + + It 'avertit quand le paquet n est pas installe' { + $logPath = Join-Path $TestDrive 'log_winget_absent.txt' + Mock -CommandName 'Test-WcdWingetAvailable' { $true } + Mock -CommandName 'Test-WcdWingetPackageInstalled' { $false } + + $results = @(Set-WcdApplicationsConfiguration -Targets $script:WingetTargets -OpenApps $true -LogPath $logPath) + + $results[0].Severity | Should -Be 'WARNING' + $results[0].Success | Should -BeTrue + $results[0].RemedyKey | Should -Be 'WingetPackageMissing' + } + + It 'traite un paquet optionnel absent comme une note' { + $logPath = Join-Path $TestDrive 'log_winget_optional.txt' + Mock -CommandName 'Test-WcdWingetAvailable' { $true } + Mock -CommandName 'Test-WcdWingetPackageInstalled' { $false } + + $results = @(Set-WcdApplicationsConfiguration -Targets $script:WingetOptionalTargets -OpenApps $true -LogPath $logPath) + + $results[0].Severity | Should -Be 'INFO' + $results[0].RemedyKey | Should -Be '' + } + + It 'signale une seule cause et passe les entrees en MANUAL quand winget est absent' { + $logPath = Join-Path $TestDrive 'log_winget_missing.txt' + Mock -CommandName 'Test-WcdWingetAvailable' { $false } + Mock -CommandName 'Test-WcdWingetPackageInstalled' { throw 'winget ne doit pas etre appele.' } + + $targets = @($script:WingetTargets + $script:WingetOptionalTargets) + $results = @(Set-WcdApplicationsConfiguration -Targets $targets -OpenApps $true -LogPath $logPath) + + $probe = @($results | Where-Object Step -eq 'WingetUnavailable') + $probe.Count | Should -Be 1 + $probe[0].Severity | Should -Be 'WARNING' + $probe[0].RemedyKey | Should -Be 'WingetMissing' + + # une cause honnete, et une ligne actionnable par paquet + @($results | Where-Object { $_.Step -like 'AppWinget*' }).Severity | Should -Be @('MANUAL', 'MANUAL') + Should -Invoke -CommandName 'Test-WcdWingetAvailable' -Times 1 -Exactly + } + + It 'traite un echec de winget comme une erreur, pas comme un paquet absent' { + $logPath = Join-Path $TestDrive 'log_winget_broken.txt' + Mock -CommandName 'Test-WcdWingetAvailable' { $true } + Mock -CommandName 'Test-WcdWingetPackageInstalled' { throw 'winget list failed for Microsoft.PowerToys (exit 5).' } + + $results = @(Set-WcdApplicationsConfiguration -Targets $script:WingetTargets -OpenApps $true -LogPath $logPath) + + $results[0].Severity | Should -Be 'ERROR' + $results[0].Success | Should -BeFalse + $results[0].RemedyKey | Should -Be 'WingetCheckFailed' + } + + It 'lit le code de sortie de winget: 0 installe, code introuvable absent, autre erreur' { + # -Scope 1 pose LASTEXITCODE dans le scope appelant, la ou + # Test-WcdWingetPackageInstalled le relit. + function winget.exe { + Set-Variable -Name 'LASTEXITCODE' -Value $script:WingetExit -Scope 1 + 'sortie winget' + } + + $script:WingetExit = 0 + Test-WcdWingetPackageInstalled -Id 'Microsoft.PowerToys' | Should -BeTrue + + # APPINSTALLER_CLI_ERROR_NO_APPLICATIONS_FOUND + $script:WingetExit = -1978335212 + Test-WcdWingetPackageInstalled -Id 'Microsoft.PowerToys' | Should -BeFalse + + $script:WingetExit = 5 + { Test-WcdWingetPackageInstalled -Id 'Microsoft.PowerToys' } | Should -Throw + } + } }