Fixes #41009 ## Summary - Scope `ValidatePackageIdentifiers` to only run when `$PACKAGE_ID` or `$UPGRADE_CODE` template variables are present in the uninstall script - Move `dmg`/`zip` early return before validation - Switch from ASCII allowlist to shell metacharacter denylist, allowing legitimate non-ASCII product names (e.g., `®`, parens) while still blocking injection characters ## Test plan - [x] Added unit tests for conditional validation (non-ASCII IDs with/without template vars, dmg/zip bypass, upgrade code scoping) - [x] Existing input tests still pass - [x] Winget ingester tests unaffected --------- Co-authored-by: Ian Littman <iansltx@gmail.com>
pkg directory
This top-level pkg directory contains packages that may be shared between all fleet backend components.