Group Policy
Control WinGet functionality, sources, and behavior across your organization using Windows Group Policy. This guide covers all available policies and enterprise deployment strategies.Overview
WinGet Group Policy enables centralized control over:- Feature availability and restrictions
- Package source configuration
- Security settings and overrides
- Default behavior and preferences
settings.json. Policies take precedence.Installing Policy Templates
Locating ADMX Files
Policy templates are included in the WinGet source repository:Deployment Steps
Copy ADMX File
DesktopAppInstaller.admx to your PolicyDefinitions folder:Local Machine:Copy ADML File
DesktopAppInstaller.adml to the language-specific folder:Local Machine:Policy Categories
Toggle Policies
Toggle policies enable or disable specific features. They use DWORD values (0 = Disabled, 1 = Enabled).Value Policies
Value policies set configuration values like intervals or proxy settings.List Policies
List policies define multiple items, such as additional sources or allowed sources.Core Functionality Policies
Enable Windows Package Manager
Policy:EnableAppInstaller
Path: Computer Configuration > Administrative Templates > Windows Components > Desktop App Installer > Enable Windows Package Manager
Controls whether WinGet can be used at all.
Configuration Details
Configuration Details
Enable Command Line Interfaces
Policy:EnableWindowsPackageManagerCommandLineInterfaces
Controls access to WinGet CLI and PowerShell cmdlets.
Configuration Details
Configuration Details
Enable Windows Package Manager policy. Both must be enabled.Enable Settings
Policy:EnableSettings
Controls whether users can modify their WinGet settings.
Configuration Details
Configuration Details
settings.jsonDisabled: Settings file is read-only; only policy appliesUse this to enforce standardized configurations.Enable Experimental Features
Policy:EnableExperimentalFeatures
Controls access to experimental features.
Configuration Details
Configuration Details
Source Management Policies
Source Auto Update Interval
Policy:SourceAutoUpdateInterval
Sets the automatic update interval for package sources (in minutes).
Configuration
Configuration
0: Disable automatic updates60: Update every hour1440: Update once per day
Enable Default Source
Policy:EnableDefaultSource
Controls availability of the default WinGet source (winget).
Configuration Details
Configuration Details
Enable Microsoft Store Source
Policy:EnableMicrosoftStoreSource
Controls availability of the Microsoft Store source.
Configuration Details
Configuration Details
Enable Additional Sources
Policy:EnableAdditionalSources
Define enterprise package sources that users cannot remove.
Add Source Definitions
Source JSON Format
Source JSON Format
- Name: Display name for the source
- Arg: URL or UNC path to source
- Type: Source type (
Microsoft.PreIndexed.PackageorMicrosoft.Rest) - Identifier: Unique identifier
- Data: Additional metadata
- TrustLevel: Array of trust levels
- Priority: Source priority (requires experimental feature)
Enable Allowed Sources
Policy:EnableAllowedSources
Restrict users to only specified sources.
Define Allowed Sources
Enable Font Source
Policy:EnableFontSource
Controls the experimental font package source.
fonts experimental feature to be enabled.Security Policies
Enable Local Manifest Files
Policy:EnableLocalManifestFiles
Controls whether users can install from local YAML manifest files.
Security Considerations
Security Considerations
winget install --manifest is blockedEnable Hash Override
Policy:EnableHashOverride
Controls whether users can override SHA256 hash validation.
Configuration Details
Configuration Details
--force or --ignore-security-hashDisabled: Hash validation cannot be bypassedRecommended: Disable in production environments for security.Enable Local Archive Malware Scan Override
Policy:EnableLocalArchiveMalwareScanOverride
Controls ability to skip malware scanning for local archive installations.
Configuration Details
Configuration Details
Enable Certificate Pinning Bypass for Microsoft Store
Policy:EnableBypassCertificatePinningForMicrosoftStore
Controls certificate validation for Microsoft Store source.
Configuration Details
Configuration Details
- Corporate SSL inspection/decryption
- Proxy environments with certificate replacement
Network Policies
Set Default Proxy
Policy:WindowsPackageManagerDefaultProxy
Define a default proxy for all WinGet network operations.
Enable Proxy Command Line Options
Policy:EnableWindowsPackageManagerProxyCommandLineOptions
Controls whether users can override proxy settings via command line.
Configuration Details
Configuration Details
Installation Policies
MSIX Allowed Zones
Policy:EnableMsixAllowedZones
Control from which URL security zones MSIX packages can be installed.
Default Behavior
Default Behavior
- Local Machine: Allow
- Intranet: Allow
- Trusted Sites: Allow
- Internet: Block
- Untrusted Sites: Block
Enable MSIX SmartScreen Check
Policy:EnableMsixSmartScreenCheck
Controls whether MSIX package URIs are checked against Microsoft SmartScreen.
Configuration Details
Configuration Details
Protocol Policies
Enable ms-appinstaller Protocol
Policy:EnableMSAppInstallerProtocol
Controls whether users can install packages via ms-appinstaller:// protocol links.
Use Cases
Use Cases
Configuration Feature Policies
Enable Windows Package Manager Configuration
Policy:EnableWindowsPackageManagerConfiguration
Controls the WinGet configuration feature (DSC integration).
Configuration Details
Configuration Details
Enable MCP Server
Policy:EnableWindowsPackageManagerMcpServer
Controls the Model Context Protocol (MCP) server for WinGet.
Configuration Details
Configuration Details
Policy Implementation Strategies
Scenario: Locked-Down Environment
Block Risky Features
- Enable Local Manifest Files
- Enable Hash Override
- Enable Local Archive Malware Scan Override
- Enable Experimental Features
Scenario: Balanced Corporate Environment
Provide Corporate Sources
Scenario: Developer Workstations
Verifying Policy Application
Check Registry Values
Verify policies are applied:Test WinGet Behavior
Validate policy enforcement:Group Policy Results
Generate policy report:Troubleshooting
Policies Not Applying
Policies Not Applying
- Verify ADMX/ADML files are correctly placed
- Run
gpupdate /forceon client machines - Check GPO is linked to correct OU
- Verify no conflicting GPOs
- Check client is receiving policies:
gpresult /r
Settings.json Overriding Policy
Settings.json Overriding Policy
- Verify policy is applied: check registry
- Ensure policy targets are correct (Computer vs User)
- Check for local policy overrides
- Restart WinGet process
Source Policies Not Working
Source Policies Not Working
- JSON Format: Ensure proper JSON escaping in policy editor
- Quotes: Use double quotes in JSON, not single quotes
- Identifiers: Make identifiers unique across sources
- URLs: Verify source URLs are accessible from clients
Certificate Pinning Issues
Certificate Pinning Issues
- Enable Bypass Certificate Pinning policy
- Ensure proxy certificates are trusted system-wide
- Test source connectivity from client
- Review proxy logs for SSL interception issues
Best Practices
Start Restrictive
Test Before Deployment
Document Configuration
Monitor Compliance
gpresult and registry checks.Version Control Sources
Separate by OU
Policy Reference Table
| Policy Name | Type | Default | Registry Value |
|---|---|---|---|
| Enable Windows Package Manager | Toggle | Enabled | EnableAppInstaller |
| Enable Settings | Toggle | Enabled | EnableSettings |
| Enable Experimental Features | Toggle | Enabled | EnableExperimentalFeatures |
| Enable Local Manifest Files | Toggle | Enabled | EnableLocalManifestFiles |
| Enable Hash Override | Toggle | Enabled | EnableHashOverride |
| Enable Default Source | Toggle | Removable | EnableDefaultSource |
| Enable Microsoft Store Source | Toggle | Removable | EnableMicrosoftStoreSource |
| Enable Command Line Interfaces | Toggle | Enabled | EnableWindowsPackageManagerCommandLineInterfaces |
| Enable Configuration | Toggle | Enabled | EnableWindowsPackageManagerConfiguration |
| Source Auto Update Interval | Value | 15 min | SourceAutoUpdateInterval |
| Default Proxy | Value | None | DefaultProxy |
| Enable Additional Sources | List | None | AdditionalSources (subkey) |
| Enable Allowed Sources | List | All | AllowedSources (subkey) |