Microsoft 11798 Published by

Microsoft has released Windows Package Manager 1.10.40 preview, which represents the second development build for both Windows 10 and Windows 11. The update incorporates experimental features such as sixel support for icons and an enhanced progress visualization. To utilize these features, users are required to operate a terminal that is compatible with sixels, such as the most recent Windows Terminal Preview build. The handling of WinGet configuration files that utilize DSC resources requiring elevation has been improved for better efficiency. The experimental feature "Configure Self Elevation" is available for activation. The release addresses a bug that leads to a crash in MSVC's C++ STL, resulting in binaries compiled with newer tooling crashing when utilizing an older VCRuntime.



winget-cli v1.10.40-preview

This is the second development build after the Windows Package Manager 1.9 build for Windows 10(1809+) and Windows 11.
This build will be released to Windows Insider Dev builds and Windows Package Manager Insiders.

This release includes the ability to enable experimental features unless blocked by Group Policy Objects (GPO)


Sixel support is here to display icons and a new progress visualization. To try out this new feature, you must be using a terminal that supports sixels, such as the latest Windows Terminal Preview build. To enable this feature, include the following snipping in your settings file:

{
  "$schema": "https://aka.ms/winget-settings.schema.json",
  "visual": {
    "enableSixels": true,
    "progressBar": "sixel"
  }
}

WinGet Configuration files with DSC Resources requiring elevation can now be handled more gracefully. The "Configure Self Elevation" experimental feature can be enabled with the following snippet in your settings file:

{
  "$schema": "https://aka.ms/winget-settings.schema.json",
  "experimentalFeatures": {
    "configureSelfElevate": true
  }
}

Use "securityContext: elevated" under "directives:" for any resources requiring administrator. WinGet will trigger a single User Account Control (UAC) prompt when the configuration is run under user context. Resources requiring elevation are run elevated, and the rest are run in user context. The following example shows how the .NET Tutorial - Hello World in 5 minutes will be updated to provide a better user experience.

# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
properties:
  resources:
    - resource: Microsoft.WinGet.DSC/WinGetPackage
      id: install-dotnet8-SDK
      directives:
        description: Install .NET 8 SDK
        securityContext: elevated
      settings:
        id: Microsoft.DotNet.SDK.8
        source: winget
    - resource: Microsoft.WinGet.DSC/WinGetPackage
      id: install-vs-code
      directives:
        description: Install Visual Studio Code
      settings:
        id: Microsoft.VisualStudioCode
        source: winget
    - resource: Microsoft.VSCode.DSC/VSCodeExtension
      id: install-csharp-dev-kit
      dependsOn:
        - install-vs-code
      directives:
        description: Install C# Dev Kit
        allowPrerelease: true
      settings:
        name: ms-dotnettools.csdevkit
        exist: true
  configurationVersion: 0.2.0

What's Changed

  • Fixes a bug causing a crash. MSVC's C++ STL had a breaking change in mutex, which causes binaries compiled with newer tooling to crash when using an older VCRuntime (msvcp140.dll). See:  microsoft/STL#4730

Full Changelog v1.10.30-preview...v1.10.40-preview

Release v1.10.40-preview · microsoft/winget-cli