For those who don’t know, my name’s Mitch and I’m one of the developers for PSAppDeployToolkit, and worked extensively on v4.
It’s not lost on us that a lot of people are after robust WinGet support within PSAppDeployToolkit. While such functionality is not within the spirit of PSAppDeployToolkit itself, it certainly is within an extension.
So today, I announce PSAppDeployToolkit.WinGet, which I’m releasing as 1.0.0-rc1. This has been tested extensively by myself, as well as others within the PSAppDeployToolkit team and I believe it’s now ready for public testing.
GitHub: GitHub - mjr4077au/PSAppDeployToolkit.WinGet: A PSAppDeployToolkit v4 extension module for WinGet.
PSGallery: PowerShell Gallery | PSAppDeployToolkit.WinGet 1.0.0-rc1
The design of this module has been performed to as closely match the API of Microsoft.WinGet.Client as much as possible. This makes it a drop-in replacement for Microsoft’s module, however it properly allows application installs while running as SYSTEM, as well as hooks PSAppDeployToolkit’s logging, etc.
If there’s any questions, I’ll be here, on GitHub, or on the WinAdmins Discord server to answer them.
3 Likes
Hey Mitch,
I appreciate your work. I tried winget and failed to run it in the system context. I’m curious to see if it works with your module/extension.
In the documentation for the module I read: “Copy the PSAppDeployToolkit.WinGet folder into your deployment script directory for Invoke-AppDeployToolkit.ps1 to automatically import.”
So my directory should look like this?
I was also wondering, do I have the option to customize the base so that extensions are included in each new package?
I’ve already searched the docs and forum but haven’t really found an answer yet.
If I put in anywhere in the base, i can’t create a new package because of the signage.
Where do i have to put it, to have it as default?
Aside from PSADT logging integration, this is precisely why my module exists. It even has a Repair-ADTWinGetPackageManager
function to update WinGet, ensure Visual Studio Runtimes are installed, etc.
That looks pretty good to me. Its worth mentioning that you can’t really take some other module, slap PSAppDeployToolkit.
on the front of it and all of a sudden its a PSADT extension. I doubt Evergreen will load like this because its psd1/psm1 files aren’t renamed also etc.
If you need to import non-PSADT modules into your PSADT environment, you should add the necessary Import-Module
calls yourself.
This isn’t something we’ve thought about or considered, but if you’d love to chuck it up as a feature request on GitHub, we’ll be able to explore it as I can see the benefits for when you’re setting up an app packaging factory, etc. Sign in to GitHub · GitHub