From a3e0c94bf8d7ac83412de91e6e6ebc4b2d46a066 Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Sun, 2 Nov 2025 02:00:24 -0700 Subject: [PATCH] Added WinGET (Unfinished) --- .../Package Managers/WinGet_WIN.json | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Data/Engine/Assemblies/Scripts/Software Installers/Package Managers/WinGet_WIN.json diff --git a/Data/Engine/Assemblies/Scripts/Software Installers/Package Managers/WinGet_WIN.json b/Data/Engine/Assemblies/Scripts/Software Installers/Package Managers/WinGet_WIN.json new file mode 100644 index 00000000..11e914f1 --- /dev/null +++ b/Data/Engine/Assemblies/Scripts/Software Installers/Package Managers/WinGet_WIN.json @@ -0,0 +1,41 @@ +{ + "version": 1, + "name": "WinGet [WIN] (Unfinished)", + "description": "Installs or enables Microsoft WinGet, the Windows package manager, allowing automated installation and updates of software packages by their WinGet IDs. \n\nSupports an optional randomized start delay to stagger deployments and reduce network congestion across multiple systems.", + "category": "application", + "type": "powershell", + "script": "Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGhlbHBlcnMKZnVuY3Rpb24gVGVzdC1XaW5HZXRQcmVzZW50IHsKICAgIHRyeSB7CiAgICAgICAgJGNtZCA9IEdldC1Db21tYW5kIHdpbmdldCAtRXJyb3JBY3Rpb24gU3RvcAogICAgICAgIHJldHVybiAkdHJ1ZQogICAgfSBjYXRjaCB7CiAgICAgICAgcmV0dXJuICRmYWxzZQogICAgfQp9CgpmdW5jdGlvbiBJbnN0YWxsLVdpbkdldElmTWlzc2luZyB7CiAgICBpZiAoVGVzdC1XaW5HZXRQcmVzZW50KSB7CiAgICAgICAgV3JpdGUtSG9zdCAiW3dpbmdldF0gRm91bmQuIgogICAgICAgIHJldHVybgogICAgfQoKICAgIFdyaXRlLUhvc3QgIlt3aW5nZXRdIE5vdCBmb3VuZC4gQXR0ZW1wdGluZyBpbnN0YWxsIHZpYSBBcHAgSW5zdGFsbGVyIChNU0lYIGJ1bmRsZSkuLi4iCiAgICAkdGVtcFJvb3QgPSBKb2luLVBhdGggJGVudjpURU1QICJ3aW5nZXQtYm9vdHN0cmFwIgogICAgTmV3LUl0ZW0gLVBhdGggJHRlbXBSb290IC1JdGVtVHlwZSBEaXJlY3RvcnkgLUZvcmNlIHwgT3V0LU51bGwKICAgICRidW5kbGVQYXRoID0gSm9pbi1QYXRoICR0ZW1wUm9vdCAiQXBwSW5zdGFsbGVyLm1zaXhidW5kbGUiCgogICAgdHJ5IHsKICAgICAgICAjIFRoZSBha2EubXMgbGluayByZWRpcmVjdHMgdG8gdGhlIGN1cnJlbnQgQXBwIEluc3RhbGxlciBidW5kbGUKICAgICAgICAkdXJpID0gJ2h0dHBzOi8vYWthLm1zL2dldHdpbmdldCcKICAgICAgICBXcml0ZS1Ib3N0ICJbd2luZ2V0XSBEb3dubG9hZGluZyBBcHAgSW5zdGFsbGVyIGJ1bmRsZS4uLiIKICAgICAgICBbTmV0LlNlcnZpY2VQb2ludE1hbmFnZXJdOjpTZWN1cml0eVByb3RvY29sID0gW05ldC5TZWN1cml0eVByb3RvY29sVHlwZV06OlRsczEyIC1ib3IgYAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbTmV0LlNlY3VyaXR5UHJvdG9jb2xUeXBlXTo6VGxzMTEgLWJvciBgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtOZXQuU2VjdXJpdHlQcm90b2NvbFR5cGVdOjpUbHMKICAgICAgICBJbnZva2UtV2ViUmVxdWVzdCAtVXNlQmFzaWNQYXJzaW5nIC1VcmkgJHVyaSAtT3V0RmlsZSAkYnVuZGxlUGF0aCAtRXJyb3JBY3Rpb24gU3RvcAogICAgfSBjYXRjaCB7CiAgICAgICAgV3JpdGUtSG9zdCAiW3dpbmdldF0gRG93bmxvYWQgZmFpbGVkOiAkKCRfLkV4Y2VwdGlvbi5NZXNzYWdlKSIKICAgICAgICBXcml0ZS1Ib3N0ICJbd2luZ2V0XSBJZiB0aGlzIGRldmljZSBjYW5ub3QgYWNjZXNzIHRoZSBNaWNyb3NvZnQgU3RvcmUvQ0ROLCBpbnN0YWxsIEFwcCBJbnN0YWxsZXIgbWFudWFsbHkuIgogICAgICAgIGV4aXQgMQogICAgfQoKICAgIHRyeSB7CiAgICAgICAgIyBBZGQtQXBweFBhY2thZ2Ugd29ya3Mgb24gV2luZG93cyAxMC8xMSB3aXRoIERlc2t0b3AgQXBwIEluc3RhbGxlciBzdXBwb3J0LgogICAgICAgICMgU29tZSBTZXJ2ZXIvTFRTQyBidWlsZHMgbWF5IGxhY2sgdGhlIHJlcXVpcmVkIEFwcFggZnJhbWV3b3JrIHN1cHBvcnQuCiAgICAgICAgV3JpdGUtSG9zdCAiW3dpbmdldF0gSW5zdGFsbGluZyBBcHAgSW5zdGFsbGVyICh0aGlzIG1heSB0YWtlIGEgbWludXRlKS4uLiIKICAgICAgICBBZGQtQXBweFBhY2thZ2UgLVBhdGggJGJ1bmRsZVBhdGggLUZvcmNlQXBwbGljYXRpb25TaHV0ZG93biAtRm9yY2VVcGRhdGVGcm9tQW55VmVyc2lvbiAtRXJyb3JBY3Rpb24gU3RvcAogICAgfSBjYXRjaCB7CiAgICAgICAgV3JpdGUtSG9zdCAiW3dpbmdldF0gQXBwIEluc3RhbGxlciBhZGQgZmFpbGVkOiAkKCRfLkV4Y2VwdGlvbi5NZXNzYWdlKSIKICAgICAgICBXcml0ZS1Ib3N0ICJbd2luZ2V0XSBXaW5HZXQgbWF5IG5vdCBiZSBzdXBwb3J0ZWQgb24gdGhpcyBTS1UvYnVpbGQsIG9yIGRlcGVuZGVuY2llcyBhcmUgYmxvY2tlZC4iCiAgICAgICAgZXhpdCAxCiAgICB9CgogICAgU3RhcnQtU2xlZXAgLVNlY29uZHMgNAogICAgaWYgKC1ub3QgKFRlc3QtV2luR2V0UHJlc2VudCkpIHsKICAgICAgICBXcml0ZS1Ib3N0ICJbd2luZ2V0XSBJbnN0YWxsIGNvbXBsZXRlZCBidXQgJ3dpbmdldCcgc3RpbGwgbm90IGF2YWlsYWJsZS4iCiAgICAgICAgV3JpdGUtSG9zdCAiW3dpbmdldF0gQSByZWJvb3Qgb3IgV2luZG93cyBTdG9yZSBzaWduLWluIG1heSBiZSByZXF1aXJlZCBvbiBzb21lIGJ1aWxkcy4iCiAgICAgICAgZXhpdCAxCiAgICB9CgogICAgV3JpdGUtSG9zdCAiW3dpbmdldF0gSW5zdGFsbGVkLiIKfQoKZnVuY3Rpb24gSW52b2tlLVdpbkdldCB7CiAgICBwYXJhbSgKICAgICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeT0kdHJ1ZSldW3N0cmluZ10kQXJndW1lbnRzCiAgICApCiAgICAjIENvbW1vbiBub24taW50ZXJhY3RpdmUgZmxhZ3M6CiAgICAjICAgLS1hY2NlcHQtc291cmNlLWFncmVlbWVudHMgLS1hY2NlcHQtcGFja2FnZS1hZ3JlZW1lbnRzIC0tZGlzYWJsZS1pbnRlcmFjdGl2aXR5CiAgICAjIFdlIGRvIC1XYWl0IHRvIGtlZXAgbG9ncyBvcmRlcmVkIGFuZCBkZXRlcm1pbmlzdGljCiAgICAkZnVsbCA9ICIkQXJndW1lbnRzIC0tYWNjZXB0LXNvdXJjZS1hZ3JlZW1lbnRzIC0tYWNjZXB0LXBhY2thZ2UtYWdyZWVtZW50cyAtLWRpc2FibGUtaW50ZXJhY3Rpdml0eSIKICAgIFdyaXRlLUhvc3QgIlt3aW5nZXRdID4gd2luZ2V0ICRmdWxsIgogICAgJHAgPSBTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAid2luZ2V0IiAtQXJndW1lbnRMaXN0ICRmdWxsIC1Ob05ld1dpbmRvdyAtV2FpdCAtUGFzc1RocnUKICAgIGlmICgkcC5FeGl0Q29kZSAtbmUgMCkgewogICAgICAgIFdyaXRlLUhvc3QgIlt3aW5nZXRdIEV4aXRDb2RlPSQoJHAuRXhpdENvZGUpIGZvcjogd2luZ2V0ICRBcmd1bWVudHMiCiAgICB9CiAgICByZXR1cm4gJHAuRXhpdENvZGUKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG9wdGlvbmFsIHJhbmRvbWl6ZWQgc3RhZ2dlcgoKJHN0YWdnZXJSYXcgPSAkZW52OnJhbmRvbWl6ZWRVcGRhdGVTdGFnZ2FyaW5nVGhyZXNob2xkCmlmICgkbnVsbCAtbmUgJHN0YWdnZXJSYXcgLWFuZCAiJHN0YWdnZXJSYXciLlRyaW0oKS5MZW5ndGggLWd0IDApIHsKICAgIFtpbnRdJHN0YWdnZXJNYXggPSAwCiAgICBbdm9pZF1baW50XTo6VHJ5UGFyc2UoIiRzdGFnZ2VyUmF3IiwgW3JlZl0kc3RhZ2dlck1heCkKICAgIGlmICgkc3RhZ2dlck1heCAtZ3QgMCkgewogICAgICAgIGlmICgkc3RhZ2dlck1heCAtZXEgMSkgeyAkc3RhZ2dlck1heCA9IDIgfQogICAgICAgICR3YWl0TWludXRlcyA9IEdldC1SYW5kb20gLU1pbmltdW0gMSAtTWF4aW11bSAkc3RhZ2dlck1heAogICAgICAgIFdyaXRlLUhvc3QgKCJbc3RhZ2dlcl0gV2FpdGluZyB7MH0gbWludXRlKHMpIChtYXg9ezF9KS4uLiIgLWYgJHdhaXRNaW51dGVzLCAkc3RhZ2dlck1heCkKICAgICAgICBTdGFydC1TbGVlcCAtU2Vjb25kcyAoJHdhaXRNaW51dGVzICogNjApCiAgICB9Cn0KCldyaXRlLUhvc3QgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCldyaXRlLUhvc3QgIldpbkdldCBib290c3RyYXAiCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZW5zdXJlIFdpbkdldCBpcyBwcmVzZW50CgpJbnN0YWxsLVdpbkdldElmTWlzc2luZwoKIyBTaG93IHZlcnNpb24vc291cmNlIGhlYWx0aCAoYmVzdC1lZmZvcnQ7IGlnbm9yZSBmYWlsdXJlcykKdHJ5IHsKICAgICR2ZXIgPSAoJiB3aW5nZXQgLS12ZXJzaW9uKSAyPiRudWxsCiAgICBpZiAoJHZlcikgeyBXcml0ZS1Ib3N0ICJbd2luZ2V0XSBWZXJzaW9uOiAkdmVyIiB9CiAgICBJbnZva2UtV2luR2V0ICJzb3VyY2UgdXBkYXRlIiB8IE91dC1OdWxsCn0gY2F0Y2ggeyB9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gdXBkYXRlIHBoYXNlCgokdXBkYXRlUmF3ID0gJGVudjpwYWNrYWdlc1RvVXBkYXRlCmlmICgkbnVsbCAtbmUgJHVwZGF0ZVJhdyAtYW5kICIkdXBkYXRlUmF3Ii5UcmltKCkuTGVuZ3RoIC1ndCAwKSB7CiAgICBpZiAoJHVwZGF0ZVJhdy5UcmltKCkuVG9VcHBlcigpIC1lcSAnQUxMJykgewogICAgICAgIFdyaXRlLUhvc3QgIlt1cGRhdGVdIFVwZ3JhZGluZyBBTEwgV2luR2V0LW1hbmFnZWQgcGFja2FnZXMuLi4iCiAgICAgICAgIyAtLWFsbCB1cGdyYWRlcyBldmVyeXRoaW5nIFdpbkdldCBrbm93cyBhYm91dAogICAgICAgIEludm9rZS1XaW5HZXQgInVwZ3JhZGUgLS1hbGwiCiAgICB9IGVsc2UgewogICAgICAgICRwYWNrYWdlcyA9ICR1cGRhdGVSYXcgLXNwbGl0ICdccysnIHwgV2hlcmUtT2JqZWN0IHsgJF8uVHJpbSgpLkxlbmd0aCAtZ3QgMCB9CiAgICAgICAgZm9yZWFjaCAoJHBrZyBpbiAkcGFja2FnZXMpIHsKICAgICAgICAgICAgIyBQcmVmZXIgbWF0Y2hpbmcgYnkgSWQgZm9yIGRldGVybWluaXNtOyBjYWxsZXIgc2hvdWxkIHBhc3MgY2Fub25pY2FsIElEcyAoZS5nLiwgTWljcm9zb2Z0LlBvd2VyU2hlbGwpCiAgICAgICAgICAgIFdyaXRlLUhvc3QgIlt1cGRhdGVdIFVwZ3JhZGluZzogJHBrZyIKICAgICAgICAgICAgIyBJZiB0aGUgSUQgaXMgbm90IGV4YWN0LCBXaW5HZXQgbWF5IHByb21wdCB0byByZXNvbHZlOyAtLWRpc2FibGUtaW50ZXJhY3Rpdml0eSBwcmV2ZW50cyBwcm9tcHRzLgogICAgICAgICAgICAjIElmIHJlc29sdXRpb24gaXMgcmVxdWlyZWQsIGNvbnNpZGVyIHVzaW5nICctLWlkJyB3aXRoIHRoZSBjYW5vbmljYWwgcGFja2FnZSBJRC4KICAgICAgICAgICAgSW52b2tlLVdpbkdldCAidXBncmFkZSAtLWlkIGAiJHBrZ2AiIgogICAgICAgIH0KICAgIH0KfSBlbHNlIHsKICAgIFdyaXRlLUhvc3QgIlt1cGRhdGVdIE5vIHBhY2thZ2VzVG9VcGRhdGUgc3BlY2lmaWVkOyBza2lwcGluZyB1cGdyYWRlIHBoYXNlLiIKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGluc3RhbGwgcGhhc2UKCiRpbnN0YWxsUmF3ID0gJGVudjpwYWNrYWdlc1RvSW5zdGFsbAppZiAoJG51bGwgLW5lICRpbnN0YWxsUmF3IC1hbmQgIiRpbnN0YWxsUmF3Ii5UcmltKCkuTGVuZ3RoIC1ndCAwKSB7CiAgICAkdG9JbnN0YWxsID0gJGluc3RhbGxSYXcgLXNwbGl0ICdccysnIHwgV2hlcmUtT2JqZWN0IHsgJF8uVHJpbSgpLkxlbmd0aCAtZ3QgMCB9CiAgICBpZiAoJHRvSW5zdGFsbC5Db3VudCAtZ3QgMCkgewogICAgICAgIFdyaXRlLUhvc3QgKCJbaW5zdGFsbF0gSW5zdGFsbGluZyB7MH0gcGFja2FnZShzKTogezF9IiAtZiAkdG9JbnN0YWxsLkNvdW50LCAoJHRvSW5zdGFsbCAtam9pbiAnLCAnKSkKICAgICAgICBmb3JlYWNoICgkcGtnIGluICR0b0luc3RhbGwpIHsKICAgICAgICAgICAgV3JpdGUtSG9zdCAiW2luc3RhbGxdIEluc3RhbGxpbmc6ICRwa2ciCiAgICAgICAgICAgICMgLS1leGFjdC8tLWlkIGhlbHAgYXZvaWQgYW1iaWd1aXR5OyBtYW55IHBhY2thZ2VzIHN1cHBvcnQgc2lsZW50IGluc3RhbGxlcnMgYnkgZGVmYXVsdAogICAgICAgICAgICBJbnZva2UtV2luR2V0ICJpbnN0YWxsIC0taWQgYCIkcGtnYCIgLS1leGFjdCIKICAgICAgICB9CiAgICB9Cn0gZWxzZSB7CiAgICBXcml0ZS1Ib3N0ICJbaW5zdGFsbF0gTm8gcGFja2FnZXNUb0luc3RhbGwgc3BlY2lmaWVkOyBza2lwcGluZyBpbnN0YWxsIHBoYXNlLiIKfQoKV3JpdGUtSG9zdCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKV3JpdGUtSG9zdCAiV2luR2V0IHRhc2tzIGNvbXBsZXRlLiIKV3JpdGUtSG9zdCAiRmluZCBwYWNrYWdlIElEcyB2aWE6IHdpbmdldCBzZWFyY2ggPG5hbWU+ICBvciBicm93c2U6IGh0dHBzOi8vd2luZ2V0LnJ1biIK", + "timeout_seconds": 3600, + "sites": { + "mode": "all", + "values": [] + }, + "variables": [ + { + "name": "packagesToUpdate", + "label": "Packages to Update", + "description": "Tell Chocolatey what to upgrade. Provide one or more package IDs (space-separated), leave empty to skip, or set to ALL to upgrade everything Chocolatey manages.", + "type": "string", + "default": "ALL", + "required": false + }, + { + "name": "packagesToInstall", + "label": "Packages to Install", + "description": "Provide one or more package IDs (space-separated) from https://community.chocolatey.org/packages", + "type": "string", + "default": "", + "required": false + }, + { + "name": "randomizedUpdateStaggaringThreshold", + "label": "Rollout Randomization (Minutes)", + "description": "Set the maximum number of minutes to randomly delay before starting. Leave empty or non-numeric to start immediately", + "type": "number", + "default": "5", + "required": true + } + ], + "files": [], + "script_encoding": "base64" +} \ No newline at end of file