Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New feature exclude apps from major/minor updates #711

Closed
wants to merge 10 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ You can update only pre-selected apps. To do so, create an "included_apps.txt" w
List and Mods folder content will be copied to WAU install location:
![image](https://github.com/user-attachments/assets/f0ec4047-d66c-4277-a39c-763fd7516ad8)

### Allow only small updates for specific apps
#### Allow only minor & patch updates and no major updates
You can exclude apps from updating to a new major release (for instance, apps you have to test/validate first before using the new major updated version):
Add (or remove) the apps' ID you want to disable major autoupdate to 'excluded_major_updates_apps.txt'. (File must be placed in WAU's installation folder, or re-run install.bat).

#### Allow only patch updates and no major/minor updates
You can exclude apps from updating to a new major/minor release (for instance, apps you have to test/validate first before using the new minor updated version, but you want to get patch updates for security reasons for example):
Add (or remove) the apps' ID you want to disable major and minor autoupdate to 'excluded_minor_updates_apps.txt'. (File must be placed in WAU's installation folder, or re-run install.bat).

### Notification Level
You can choose which notification will be displayed: `Full`, `Success only` or `None`.

Expand Down
21 changes: 18 additions & 3 deletions Sources/Policies/ADMX/WAU.admx
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="4.9" xsi:schemaLocation="" schemaVersion="1.0" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions">
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="5.0" xsi:schemaLocation="" schemaVersion="1.0" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions">
<policyNamespaces>
<target prefix="WAU" namespace="Romanitho.Policies.WAU"/>
</policyNamespaces>
<resources minRequiredRevision="4.8" fallbackCulture="en-us"/>
<resources minRequiredRevision="5.0" fallbackCulture="en-us"/>
<supportedOn>
<definitions>
<definition name="SUPPORTED_WAU_1_16_0" displayName="$(string.SUPPORTED_WAU_1_16_0)"/>
<definition name="SUPPORTED_WAU_1_16_5" displayName="$(string.SUPPORTED_WAU_1_16_5)"/>
<definition name="SUPPORTED_WAU_2_1_0" displayName="$(string.SUPPORTED_WAU_2_1_0)"/>
</definitions>
</supportedOn>
<categories><category displayName="$(string.WAU)" name="WAU"/></categories>
Expand Down Expand Up @@ -69,6 +70,20 @@
<list id="BlackList" key="Software\Policies\Romanitho\Winget-AutoUpdate\BlackList" valuePrefix=""/>
</elements>
</policy>
<policy name="MajorUpdateBlackList_Enable" class="Machine" displayName="$(string.MajorUpdateBlackList_Name)" explainText="$(string.MajorUpdateBlackList_Explain)" key="Software\Policies\Romanitho\Winget-AutoUpdate" presentation="$(presentation.MajorUpdateBlackList)">
<parentCategory ref="WAU"/>
<supportedOn ref="WAU:SUPPORTED_WAU_2_1_0"/>
<elements>
<list id="MajorUpdateBlackList" key="Software\Policies\Romanitho\Winget-AutoUpdate\MajorUpdateBlackList" valuePrefix=""/>
</elements>
</policy>
<policy name="MinorUpdateBlackList_Enable" class="Machine" displayName="$(string.MinorUpdateBlackList_Name)" explainText="$(string.MinorUpdateBlackList_Explain)" key="Software\Policies\Romanitho\Winget-AutoUpdate" presentation="$(presentation.MinorUpdateBlackList)">
<parentCategory ref="WAU"/>
<supportedOn ref="WAU:SUPPORTED_WAU_2_1_0"/>
<elements>
<list id="MinorUpdateBlackList" key="Software\Policies\Romanitho\Winget-AutoUpdate\MinorUpdateBlackList" valuePrefix=""/>
</elements>
</policy>
<policy name="WhiteList_Enable" class="Machine" displayName="$(string.WhiteList_Name)" explainText="$(string.WhiteList_Explain)" key="Software\Policies\Romanitho\Winget-AutoUpdate" presentation="$(presentation.WhiteList)">
<parentCategory ref="WAU"/>
<supportedOn ref="WAU:SUPPORTED_WAU_1_16_0"/>
Expand Down Expand Up @@ -351,4 +366,4 @@
</elements>
</policy>
</policies>
</policyDefinitions>
</policyDefinitions>
202 changes: 202 additions & 0 deletions Sources/Policies/ADMX/de-DE/WAU.adml
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="5.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
<displayName>WinGet-AutoUpdate</displayName>
<description>WinGet-AutoUpdate GPO Verwaltung</description>
<resources >
<stringTable >
<string id="WAU">Winget-AutoUpdate</string>
<string id="SUPPORTED_WAU_1_16_0">Winget-AutoUpdate Version 1.16.0 oder neuer</string>
<string id="SUPPORTED_WAU_1_16_5">Winget-AutoUpdate version 1.16.5 oder neuer</string>
<string id="SUPPORTED_WAU_2_1_0">Winget-AutoUpdate version 2.1.0 oder neuer</string>
<string id="ActivateGPOManagement_Name">Aktiviere die WAU GPO Verwaltung</string>
<string id="ActivateGPOManagement_Explain">Diese Richtlinieneinstellung ist ein übergeordneter Schalter für die GPO-Verwaltung von Winget-AutoUpdate.</string>
<string id="BypassListForUsers_Name">Umgehung der Blacklist/Whitelist für Benutzer</string>
<string id="BypassListForUsers_Explain">Diese Richtlinieneinstellung gibt an, ob die Blacklist/Whitelist bei Ausführung im Benutzerkontext umgangen werden soll oder nicht.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="DisableAutoUpdate_Name">Deaktiviere WAU AutoUpdate</string>
<string id="DisableAutoUpdate_Explain">Diese Richtlinieneinstellung gibt an, ob WAU AutoUpdate deaktiviert werden soll oder nicht:
Standardmäßig ist WAU AutoUpdate aktiviert.
Die Konfigurationen, Symbole (sofern personalisiert), die Liste ausgeschlossener Apps usw. werden dabei nicht überschrieben.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="DoNotRunOnMetered_Name">WAU über getaktete Verbindung ausführen</string>
<string id="DoNotRunOnMetered_Explain">Diese Richtlinieneinstellung gibt an, ob WAU bei getakteter Verbindung ausgeführt werden soll oder nicht.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="UpdatePrerelease_Name">WAU auf PreRelease-Versionen aktualisieren</string>
<string id="UpdatePrerelease_Explain">Diese Richtlinieneinstellung gibt an, ob WAU auf PreRelease-Versionen aktualisiert werden soll oder nicht (über WAU AutoUpdate).

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="BlackList_Name">Blacklist der Anwendungs-GPOs</string>
<string id="BlackList_Explain">Geben Sie die WinGet-IDs der Anwendungen an, die Sie ausschließen möchten.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird die GPO-Blacklist nicht verwendet.</string>
<string id="MajorUpdateBlackList_Name">Anwendungs-GPO Blacklist für Major Updates</string>
<string id="MajorUpdateBlackList_Explain">Geben Sie die WinGet-IDs der Anwendungen an, die Sie von den Hauptupdates ausschließen möchten - z. B. 1.3.0 auf 2.0.0

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird die GPO-Blacklist nicht verwendet.</string>
<string id="MinorUpdateBlackList_Name">Anwendungs-GPO Blacklist für Minor Updates</string>
<string id="MinorUpdateBlackList_Explain">Geben Sie die WinGet-IDs der Anwendungen an, die Sie von kleineren Updates ausschließen möchten - z. B. 1.3.0 auf 1.4.0

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird die GPO-Blacklist nicht verwendet.</string>
<string id="WhiteList_Name">Anwendungs GPO Whitelist</string>
<string id="WhiteList_Explain">Geben Sie die WinGet-IDs der Anwendungen an, die Sie einschließen möchten.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird die GPO-Whitelist nicht verwendet.</string>
<string id="UseWhiteList_Name">Verwenden Sie WhiteList statt BlackList</string>
<string id="UseWhiteList_Explain">Diese Richtlinieneinstellung gibt an, ob eine Whitelist verwendet werden soll oder nicht.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="ListPath_Name">Black/Whitelist von externem Pfad abrufen (URL/UNC/GPO/Lokal)</string>
<string id="ListPath_Explain">Wenn diese Richtlinie aktiviert ist, können Sie einen (URL/UNC/GPO/Lokalen) Pfad zu externen Listen festlegen, der vom Standard abweicht.
Wenn in dieser GPO "Anwendungs-GPO-Blacklist/Whitelist" festgelegt ist, kann der Pfad sein: GPO

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird der Standard-ListPath verwendet (WAU InstallLocation).</string>
<string id="ModsPath_Name">Mods von externem Pfad abrufen (URL/UNC/Lokal/AzureBlob)</string>
<string id="ModsPath_Explain">Wenn diese Richtlinie aktiviert ist, können Sie einen anderen als den Standardpfad (URL/UNC/Lokal/AzureBlob) zu externen Mods festlegen.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird der Standard-ModsPath verwendet (WAU InstallLocation).

Hinweis: Wenn 'AzureBlob' eingestellt ist, stellen Sie sicher, dass Sie auch 'Azure Blob-URL mit SAS-Token festlegen' konfigurieren.</string>
<string id="BlobURL_Name">Festlegen der Azure Blob-URL mit SAS-Token</string>
<string id="BlobURL_Explain">Wenn diese Richtlinie aktiviert ist, können Sie eine Azure Storage Blob-URL mit SAS-Token zur Verwendung mit der Funktion 'Mods' festlegen. Die URL muss das SAS-Token enthalten und über die Berechtigungen 'Lesen' und 'Auflisten' verfügen.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, ist der Wert leer und Azure Blob Storage funktioniert NICHT.</string>
<string id="NotificationLevel_Name">Benachrichtigungs Level</string>
<string id="NotificationLevel_Explain">Wenn diese Richtlinie aktiviert ist, können Sie die Benachrichtigungsebene konfigurieren:
1. Vollständig (Standardwert)
2. Nur Erfolg
3. Keine Benachrichtigungen

Wenn diese Richtlinie nicht konfiguriert oder deaktiviert ist, Benachrichtigungsebene: (1. Vollständig).</string>
<string id="NotificationLevel_Full">1. Vollständig (Standardwert)</string>
<string id="NotificationLevel_SuccessOnly">2. Nur Erfolg</string>
<string id="NotificationLevel_None">3. Keine Benachrichtigungen</string>
<string id="UpdatesInterval_Name">Update Intervall</string>
<string id="UpdatesInterval_Explain">Wenn diese Richtlinie aktiviert ist, können Sie das Aktualisierungsintervall konfigurieren:
1. Täglich (Standard)
2. Zweitägig
3. Wöchentlich
4. Zweiwöchentlich
5. Monatlich
6. Nie (z. B. in Kombination mit 'Aktualisierungen bei Anmeldung')

Wenn diese Richtlinie nicht konfiguriert oder deaktiviert ist, Aktualisierungsintervall: (1. Täglich).</string>
<string id="UpdatesInterval_Daily">1. Täglich (Standard)</string>
<string id="UpdatesInterval_BiDaily">2. Zweitägig</string>
<string id="UpdatesInterval_Weekly">3. Wöchentlich</string>
<string id="UpdatesInterval_BiWeekly">4. Zweiwöchentlich</string>
<string id="UpdatesInterval_Monthly">5. Monatlich</string>
<string id="UpdatesInterval_Never">6. Nie (z. B. in Kombination mit 'Aktualisierungen bei Anmeldung')</string>
<string id="UpdatesAtLogon_Name">Updates bei der Anmeldung</string>
<string id="UpdatesAtLogon_Explain">This policy setting specifies whether to set WAU to run at user logon or not.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="UpdatesAtTime_Name">Aktualisierungen zum Zeitpunkt</string>
<string id="UpdatesAtTime_Explain">Wenn diese Richtlinie aktiviert ist, können Sie die Aktualisierungszeit für geplante Aufgaben konfigurieren:
Von 01:00 bis 24:00 (Militär/24-Stunden-Zeit)

Wenn diese Richtlinie nicht konfiguriert oder deaktiviert ist, erfolgt die Aktualisierung zur folgenden Uhrzeit: (06:00 Uhr).</string>
<string id="UpdatesAtTime01">01:00</string>
<string id="UpdatesAtTime02">02:00</string>
<string id="UpdatesAtTime03">03:00</string>
<string id="UpdatesAtTime04">04:00</string>
<string id="UpdatesAtTime05">05:00</string>
<string id="UpdatesAtTime06">06:00 (Standard)</string>
<string id="UpdatesAtTime07">07:00</string>
<string id="UpdatesAtTime08">08:00</string>
<string id="UpdatesAtTime09">09:00</string>
<string id="UpdatesAtTime10">10:00</string>
<string id="UpdatesAtTime11">11:00</string>
<string id="UpdatesAtTime12">12:00</string>
<string id="UpdatesAtTime13">13:00</string>
<string id="UpdatesAtTime14">14:00</string>
<string id="UpdatesAtTime15">15:00</string>
<string id="UpdatesAtTime16">16:00</string>
<string id="UpdatesAtTime17">17:00</string>
<string id="UpdatesAtTime18">18:00</string>
<string id="UpdatesAtTime19">19:00</string>
<string id="UpdatesAtTime20">20:00</string>
<string id="UpdatesAtTime21">21:00</string>
<string id="UpdatesAtTime22">22:00</string>
<string id="UpdatesAtTime23">23:00</string>
<string id="UpdatesAtTime24">24:00</string>
<string id="UserContext_Name">Benutzerkontextausführung</string>
<string id="UserContext_Explain">Diese Richtlinieneinstellung gibt an, ob die Ausführung im Benutzerkontext aktiviert werden soll oder nicht.

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="DesktopShortcut_Name">Desktop-Verknüpfung aktivieren [VERALTET]</string>
<string id="DesktopShortcut_Explain">Diese Richtlinieneinstellung gibt an, ob eine Desktopverknüpfung aktiviert werden soll oder nicht:
WAU - Check for updated Apps

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="StartMenuShortcut_Name">Startmenüverknüpfungen aktivieren [VERALTET]</string>
<string id="StartMenuShortcut_Explain">Diese Richtlinieneinstellung gibt an, ob die Startmenüverknüpfungen aktiviert werden sollen oder nicht:
WAU - Check for updated Apps
WAU - Open logs
WAU - Web Help

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, lautet die Standardeinstellung "Nein".</string>
<string id="MaxLogFiles_Name">Log: Anzahl der erlaubten Logdateien</string>
<string id="MaxLogFiles_Explain">Wenn diese Richtlinie aktiviert ist, können Sie eine Anzahl zulässiger Protokolldateien festlegen:
Wenn Sie MaxLogFiles auf 0 setzen, werden keine alten archivierten Protokolldateien gelöscht, bei 1 bleibt die ursprüngliche erhalten und wird einfach erweitert.
Die Standardzahl ist 3 (0-99).

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird die Standardzahl verwendet.</string>
<string id="MaxLogSize_Name">Log: Größe der Logdatei in Bytes vor der Rotation</string>
<string id="MaxLogSize_Explain">Wenn diese Richtlinie aktiviert ist, können Sie die Größe der Protokolldatei in Bytes vor der Rotation festlegen.
Die Standardgröße ist 1048576 = 1 MB

Wenn diese Richtlinie deaktiviert oder nicht konfiguriert ist, wird die Standardgröße verwendet.</string>
</stringTable>
<presentationTable>
<presentation id="BlackList">
<listBox refId="BlackList">BlackList:</listBox>
</presentation>
<presentation id="MajorUpdateBlackList">
<listBox refId="MajorUpdateBlackList">BlackList Major Updates:</listBox>
</presentation>
<presentation id="MinorUpdateBlackList">
<listBox refId="MinorUpdateBlackList">BlackList Minor Updates:</listBox>
</presentation>
<presentation id="WhiteList">
<listBox refId="WhiteList">WhiteList:</listBox>
</presentation>
<presentation id="ListPath">
<textBox refId="ListPath">
<label>(URL/UNC/GPO/Local) Pfad:</label>
</textBox>
</presentation>
<presentation id="ModsPath">
<textBox refId="ModsPath">
<label>(URL/UNC/Local/AzureBlob) Pfad:</label>
</textBox>
</presentation>
<presentation id="BlobURL">
<textBox refId="BlobURL">
<label>Azure Storage-URL mit SAS-Token:</label>
</textBox>
</presentation>
<presentation id="NotificationLevel">
<dropdownList refId="NotificationLevel"/>
</presentation>
<presentation id="UpdatesInterval">
<dropdownList refId="UpdatesInterval"/>
</presentation>
<presentation id="UpdatesAtTime">
<dropdownList refId="UpdatesAtTime"/>
</presentation>
<presentation id="MaxLogFiles">
<textBox refId="MaxLogFiles">
<label>Erlaubte Protokolldateien:</label>
</textBox>
</presentation>
<presentation id="MaxLogSize">
<textBox refId="MaxLogSize">
<label>Größe der Protokolldatei:</label>
</textBox>
</presentation>
</presentationTable>
</resources>
</policyDefinitionResources>
Loading