From 760d9d2e5cff9a0876a1c5e48449cb439284064d Mon Sep 17 00:00:00 2001 From: Stephan Yelle Date: Fri, 5 Dec 2025 19:35:45 -0500 Subject: [PATCH] Update samy.ps1 --- samy.ps1 | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/samy.ps1 b/samy.ps1 index 1ea692c..5dcc272 100644 --- a/samy.ps1 +++ b/samy.ps1 @@ -2225,21 +2225,37 @@ function Ensure-SamyPrinterDriver { } # If we don't yet have an INF path, try to derive it from DriverInfName + # If we don't yet have an INF path, try to derive it from DriverInfName if (-not $infPath) { if ($Profile.PSObject.Properties.Name -contains 'DriverInfName' -and $Profile.DriverInfName) { + + # 1) First try: directly under the destination root $candidateInf = Join-Path $localDriverRoot $Profile.DriverInfName if (Test-Path $candidateInf) { $infPath = $candidateInf - Write-LogHybrid "Resolved INF from package as '$infPath' using DriverInfName '$($Profile.DriverInfName)'." Info Printers -LogToEvent + Write-LogHybrid "Resolved INF from package as '$infPath' using DriverInfName '$($Profile.DriverInfName)' at root." Info Printers -LogToEvent } else { - Write-LogHybrid "Expected INF '$candidateInf' (from DriverInfName) not found after expanding package." Warning Printers -LogToEvent + Write-LogHybrid "Expected INF '$candidateInf' (from DriverInfName) not found at root; searching recursively..." Warning Printers -LogToEvent + + # 2) Second try: search subfolders for that INF name + $found = Get-ChildItem -Path $localDriverRoot -Recurse -Filter $Profile.DriverInfName -File -ErrorAction SilentlyContinue | + Select-Object -First 1 + + if ($found) { + $infPath = $found.FullName + Write-LogHybrid "Resolved INF from package as '$infPath' (found by recursive search for '$($Profile.DriverInfName)')." Info Printers -LogToEvent + } + else { + Write-LogHybrid "Could not find any '$($Profile.DriverInfName)' under '$localDriverRoot' after expanding package." Error Printers -LogToEvent + } } } else { Write-LogHybrid "DriverInfName not defined for profile '$($Profile.ProfileName)'; cannot auto-resolve INF from expanded package." Warning Printers -LogToEvent } } + }