Closed FaserF closed 1 month ago
GPOs are now also supported. this PR also adds german translations for the GPOs
Isn't it a bit too complex? What happens if a new major or minor version is released? Will all the patch versions in between be skipped since they won't be returned as the latest version by Winget, and therefore never applied? I think this feature should be part of Winget itself I guess
We have the following issue. Our developers use Android Studio and they need to develop on a specific minor version until finished, but small patches should be installed (due to hotfix / security reasons). Meaning the following scenaros if version 2024.1 is installed and the latest version is 2024.2.2 and version 2024.1.3 exists:
To answer your question. In that scenaro the software will stay on the "old" version.
I think this wont make sense directly at winget, as winget doesnt manage updates, this is what WAU is doing.
Winget does manage updates, but not automatically or in a seamless way. For example, you can manually run winget upgrade --all
. However, if the editor updates an app with a Major or Minor tag, your app will no longer receive hotfixes in that case.
That's why I mentioned it as a winget issue. They should introduce a feature in the winget upgrade
command that allows users to specify whether they want to upgrade only Major, Minor, or Patch versions (assuming the app follows this kind of versioning).
But how should it be implemented in winget, if winget has no update function (only upgrade all, which just upgrades all apps, with no restrictions). In my opinion it still should be handled by WAU and not winget. I mean in the end it works already with this PR. I can still reach in a feature request, but I dont expect much attention from Microsoft.
We use WAU to update apps with Winget upgrade "AppName"
. It would be great if they could implement an option like Winget upgrade "AppName" --PatchOnly
for instance. This way, we could easily manage patch versions since, when the editor releases a new major or minor version, the patched version may no longer be available.
I have now created the feature request at winget, but I dont think this will be worked on. Any way to still implement it at WAU and drop it when MS provides a official way or do I have to drop this PR and figure out another way without WAU/winget supporting it (most likely I would create a PR at winget, but this will be wayyyy more work for me)?
To be honest, I'm not sure what the best option is. From my point of view, it’s a lot of work on your part for potentially limited gain in WAU. Alternatively, we would need to implement a full check to only retrieve available hotfixes from the Winget repository. However, that would require querying all possible app versions just to find patched releases.
The input from the above MS request was good, I think this makes this PR obsolete, but we still need #746 to be merged for this to work. I will continue my work there
Oh good, I wasn't aware of that feature... That's a very good point, and we can try to address it soon. We'll probably need to review all the code that calls Winget. :/
Maybe you can use Mods to "pin" apps in system context. @KnifMelti, should be possible I guess? This way, we can pin apps in a static major/minor, and WAU should update patches only. I'll try to test that.
@Romanitho please be sure to check my latest commits at #746 before, in theory it works now, WAU wil be able to handle pinned apps and udate them only if the pinned version is lower than the last available version. we can pin apps like this:
winget pin add "Microsoft.Office" --version 16.0.*
winget pin list
Name ID Version Quelle Stecknadeltyp Angeheftete Version
-------------------------------------------------------------------------------------------------------------------------
Snagit 2020 TechSmith.Snagit.2020 20.1.8 winget Pinning
Microsoft 365 Apps for Enterprise - de-de Microsoft.Office 16.0.17928.20216 winget Gating 16.0.*
this will result in WAU updating the app as long as the version is lower than 16.1 for example.
still would be great to somewhat use WAU to pin apps, for the beginning in our company I would have written a small script to pin apps.
Proposed Changes
We have some applications where we cannot update the applications without validating them first. But we would like to get patch updates (1.0.2 : 1=Major, 0=Minor, 2=Patch) for security reasons f.e. This feature implements an option to exclude specific apps from Major updates or Minor Updates.
It has been tested with two applications (Meazure.GuardianBrowser & Mozilla.Firefox), one user app, one system app. Wildcards seem not to work unfortunatly (yet).
Test Log Output:
Related Issues