Transcripts

Hands-On Windows 105 transcript

Please be advised this transcript is AI-generated and may not be word for word. Time codes refer to the approximate times in the ad-supported version of the show
 

0:00:01 - Paul Thurrott
Coming up next on Hands-On Windows, we're going to take another look at the Windows Package Manager and one of the key utilities that helps automate the process of batch installing applications in Windows but also provides a really friendly graphical front end. Coming up next Podcasts you love From people you trust. This is Twit. Hello everybody and welcome back to Hands-On Windows. I'm Paul Thrott.

We last talked about the Windows Package Manager, or WinGet, probably over a year ago now. I would say package manager is a utility provided with operating systems that automates the installation, maintenance and removal of apps, sometimes configuration as well, although the windows package manager really doesn't have much by way of configuration. Unfortunately. This is the tool that I use to bulk install apps because I review laptops. I need to do that so often but it is a command line tool, so it can be a little intimidating, although, honestly, like anything else, you use a lot, you get used to it. But I've long recommended a utility called WinGet UI that provided a graphical front end to WinGet and also a nice automation capability for keeping all the apps up to date, and so that app itself has been updated, it's been renamed. So I thought maybe this was a good time to kind of take a look at this again and see what this looks like. So, winget, like I said, command line, it's all up in terminal. In fact, let's maximize this thing and make the font big so you can actually see it. So, on Windows 11, if you just type in winget, you'll get this list of all the command line options that are available via this app. The big couple are searches, which is how you find apps. Install, which is how you install apps. Uninstall, so you can uninstall, so you can uninstall apps they call them packages, I should say and then upgrade, which is how you update those things, right. So when get is up and running, it's working. That that proves that.

Um, but we could also, you know what would this look like? So if I, if I go to winget and search, for example, whatever I type in, next um will be that thing that I search for. So I could say well, do you have chrome right? And there's a bunch of responses. But I know from having done this in the past that the one that I want is googlechrome, and this is the web version of the only version really of google chrome instable that I can get. There's no store version, right? Um, it supports two sources get. There's no store version. Right, it supports two sources. So when there's a store version, you'll see MS store and you'll see when get for the when get repository which pulls from the web. So in this case there is not a Google Chrome in the store, depending.

You know, if we did that for, say, firefox, I think is a good example you should see one of each. Yeah, so here we see, the store ID is always this kind of weird string and then the WinGet repository is always that namename style. I should probably have found one that I don't already have on my system, but if I do, you know WinGet search. I'm definitely already have Chrome, but get a shot anyway. It will probably just tell me oh, I did search, excuse me.

When get install, I'm sure it's going to say hey, you already have this buddy. Yeah, sorry to have it, but it would at this point just install that for me from the command line. It's really straightforward. If I wanted to install the store version of Firefox, for example, which I do not, but let's get this thing going anyway you could do that and you don't have to do E on this one, because it's the only E is explicit, it's exact is what that means. So in other words, if there are other versions of this string that are sort of like googlechrome1, googlechrome2. It will not just install the first one, it will install the one. That is exactly that. These IDs are unique, so there's no need for that. I'm not actually going to go through that, I don't want to sit here while that installs, but that's how you can do that.

The other thing that's useful here, but unfortunately is a manual process, is of upgrading that stuff, and so if you just type in when get upgraded, look at your system and it will tell you which apps on the system could be updated. So that's kind of interesting. It lists three, but it says there are four, right, so which is something you see? So I could do something like when get upgrade, all to do all of the things that are waiting to be updated, because one is missing. You can actually there's a little trick here If you do include unknown, it will actually grab the one that's not showing for some reason. This is some weirdness there, but I'm not going to do that either. But one thing I could do here, I think yes, would be just to update an individual package or application, right? So in this case, microsoft Visual Studio Code. So you can also use this just with an explicit app name, right? And so this is the same process.

You would see if you're just installing it from scratch. It's basically installing this thing. I didn't do anything to hide any of the dialog boxes. There's a switch like slash or dash H that would do that. If it requires a UAC prompt, I'll have to deal with that as well. When I script batch installs, I run it as an admin and then I have it set up. So I don't have to do any of that stuff, like everything just installs in the background there as an admin and then I have it set up, so I don't have to do any of that stuff. Like everything just installs in the background. There's no dialogues, there's no anything to deal with, which is really kind of handy. Now that's cute and that's fine.

We can go back to upgrade and see. We can see now that this should only be two items there, but three listed, which is always fun. Oh, because I'm sorry. Actually it is listenable, sorry, discord is something, something, something but explicit, yeah. So yeah, that command line switch I used earlier would solve this problem, but we're not going to worry about that. So there are three listed there. I'm sorry this is. You know it's fine, like it works, fine.

The only problem is these updates don't occur automatically. Now, if you're getting the apps from the store, those actually do update automatically, but they're on whatever their schedule is right. If you have apps from the web, those could be even further out, right. We don't know when Visual Studio Code would have updated, except that I've used this app, but I know that when it updates is when I run it, right, so that happens a lot. So if you want to kind of avoid that sort of thing where you actually run the app and you want it to work Discord is a great example of an app that seems to update every single time I use it you could.

What you want is something that just automates this in the background, and you can't do that with pure Winget. So you can do it. Let me see if I can figure out how to get this URL using the new version of what used to be called when get UI. Right, and the new version is called Uniget. We were here before. Let's get out of there. Okay, uniget UI.

Now there's been some UI changes, there's some new capabilities, but one of the big ones is that it doesn't just work with Winget. It also works with other package managers, including some really popular ones from third parties, like Chocolaty, right? If you don't know what that means, it's cool, don't worry about it. I don't personally feel the need to use multiple package managers, but you could make the case that maybe Winget doesn't have everything in its repository, so, um, you could get apps from multiple locations using this app, which I've already done. So I've already installed it, and when this thing runs, what it will do is examine the system, just like when get did, and it should pop up a banner notification.

Here we go that says the three packages can be updated, right, so, um, just running this thing, I don't have to ask it for updates. It's, you know, and it's giving me this option to do, to do this, which is that's very useful, um. But there's more than that, right? Um, if we go into the settings and startup options, it's, it's going to be set to um, uh, update packages each time you launch, right? So meaning when you actually sign in to Windows, which is pretty useful, and this thing will run in the background by default down in the tray. Here you know when you sign in, which is, you know, useful. But you can also go into update preferences and say, look, I just always want to install app updates automatically, right, you can check for them on a schedule, so if you want it every 30 minutes, every 10 minutes, whatever you like, um, you can make sure that all the apps on your system are up to date. So that's that by itself, I think is very useful.

Um, one of the things I find with this app and its predecessor is that every once in a while you will run into an app that for some reason, is not working properly with the updating mechanism. It's possible that that Discord thing we saw earlier might be an example of that. It's really hard to track down what the problem is there. Sometimes it has to do with a store app that it's trying to update with the web version of the repository package. It's hard to tell, but you can go in and say, look, just don't update this one. I know I have 30 apps maybe installed. Say, look, just don't update this one. Like, I know I have 30 apps may be installed. Update all of them except for this one, right, so you can configure it to do that. That's useful.

But it also has, and you can see here. This is the list of all the packages or the apps that are installed this particular pc. It's pretty long because it's got all the system service stuff as well as just all the apps and little utilities whatever that I've installed. But the new thing here is kind of a it's. It's like a. It's basically a graphical version of the thing that I've been doing, which is creating this install script, right, and so if I go into my one drive, okay, I can find the. If I could read, I could find the script that I use to batch install apps, right, and so this is a.

This is something that I run on new computers every time, right when I'm reviewing a laptop, I sometimes will go in and remove a few of these, but I've got them separated between the list of apps that will install from Winget and the apps that will install from the store. You can see they've all got those kind of store ID type codes and these have those name dot name type codes and then it runs the script and it does all the things like explicit package on the when, get stuff silent, no, except all the agreements don't do anything. And if you run this as admin, you're not going to have to deal with UAC prompts and all that stuff. So, admin, you're not going to have to deal with uac prompts and all that stuff. So that's kind of nice. So this is good for me.

This might not be good for a lot of people, right? This is still. You know, you have to make this thing. Like, how do you even do this? It's kind of complicated. So unigat ui has an interface to basically allow you to do the same thing, but graphically it is creating a script file, it's a json file, but, um, the way you would use this is to go in here and say like, maybe we want to just find some web browsers, right, so we're like Google Chrome. I'll just type in Chrome, the best way, and search, and I can say, ok, and I know from before Well, I know from because I've done it so many times and it's already installed but that this is the result, this, that this is the result, this is the one you want.

This is the web version, the normal version, and then I can add that selection to a bundle, right, and that bundle is I think it's just called WinGet. Yeah, so here it is in the list and then I can just go add, you know, whatever else. So we'll just do what we did before. We'll get Firefox. It's just not. Oh, am I in the wrong place? We will. How we discover packages? That's not showing me the ui. Well, let me see. This is the wrong thing here, that that there we go, sorry, and mozillafirefox not nightly, the regular one same thing, add to a bundle and then go back and we will do it for Brave right, another web browser. So it's going to find web browsers here eventually. Okay, so these are actually all installed on my computer, it's okay.

And then you add it to this bundle and then you can save this bundle, right, and so I might call this thing, you know, web browsers, right, it doesn't actually have the extension, which is a mistake, but it should and save it there. So it will kind of come over here as a JSON file. It's just a text file. It's going to open in Visual Studio Code. So let me just open that in a notepad and you know it's even more complicated than that thing I created.

But the nice thing here is that this application understands this right, so you can make a list, like I did, of all the applications you want to install, save this thing off to OneDrive or Google Drive or whatever you use, and then run this one time against this. You open the bundle, select the apps you want to install, install them. It does the same thing and there are options in here so you can turn off all the prompts and all those things that I do. So I wrote code, or I had people help me actually to say write that code, because I wasn't smart enough to figure it out myself actually, but this app does that for you. So that's pretty cool.

So I think this you know, for people that like to bulk install apps, I mean, whenet's fantastic. This will do the same thing on top of Winget, chocolately and other things but it's the ability to kind of graphically create those package bundles and then also to keep everything up to date by having this thing run with you every day from the tray. Just keep everything up to date, it's nice. So I'm still looking for that kind of final piece of the puzzle here, which is the app configuration piece. In other words, it's nice that we can install apps, it's nice that we can keep them up to date, but the one thing we can't do with a package manager yet is configure them for my account and the way that I want the app set up. If there's manual things I have to do and obviously that might be impossible it's kind of a per app thing I'm not really sure how we would do that. But that's the Holy Grail. You know, maybe someday we'll get there. I don't know so, but in the meantime what we have here is pretty good. So WinGet by itself fantastic, but if you're not into command lines, definitely check out Uniget UI as well.

All right, all right. Thank you for watching. I hope you found this useful. We'll be back every thursday with a new episode. You can find out more at twittv slash how. Thank you so much for watching and thank you especially to our club twit members. We love you so much. I'll see you next week. 

All Transcripts posts