From 220d330813cba9587ab93fd93e4f2596a14fb3eb Mon Sep 17 00:00:00 2001
From: Stephan van Rooij <1292510+svrooij@users.noreply.github.com>
Date: Thu, 13 Jun 2024 16:07:32 +0200
Subject: [PATCH] =?UTF-8?q?Combine=20`Custom`=20and=20`Silient`=20paramete?=
=?UTF-8?q?rs=20=F0=9F=95=B5=EF=B8=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
PR: #81
Fixed #77 ✅
---
.../Commands/DeployWtWin32App.cs | 8 +-
.../Commands/NewWtWingetPackage.cs | 14 ++-
.../Svrooij.WinTuner.CmdLets.csproj | 2 +-
.../packages.lock.json | 62 +++++------
.../Models/WingetInstallerManifest.cs | 3 +-
src/WingetIntune.Cli/WingetIntune.Cli.csproj | 2 +-
src/WingetIntune.Cli/packages.lock.json | 62 +++++------
src/WingetIntune/Intune/IntuneManager.cs | 8 +-
src/WingetIntune/Intune/MetadataManager.cs | 14 ++-
.../Manifest/WingetInstallerExtensions.cs | 6 +-
src/WingetIntune/Models/PackageInfo.cs | 14 +--
src/WingetIntune/Models/PackageOptions.cs | 2 +-
src/WingetIntune/WingetIntune.csproj | 6 +-
src/WingetIntune/packages.lock.json | 104 +++++++++---------
.../WingetIntune.Tests.csproj | 2 +-
tests/WingetIntune.Tests/packages.lock.json | 60 +++++-----
16 files changed, 199 insertions(+), 170 deletions(-)
diff --git a/src/Svrooij.WinTuner.CmdLets/Commands/DeployWtWin32App.cs b/src/Svrooij.WinTuner.CmdLets/Commands/DeployWtWin32App.cs
index 6f84f3c..5c86d46 100644
--- a/src/Svrooij.WinTuner.CmdLets/Commands/DeployWtWin32App.cs
+++ b/src/Svrooij.WinTuner.CmdLets/Commands/DeployWtWin32App.cs
@@ -137,13 +137,17 @@ public class DeployWtWin32App : BaseIntuneCmdlet
///
public override async Task ProcessRecordAsync(CancellationToken cancellationToken)
{
+ logger?.LogDebug("Validating authentication parameters");
ValidateAuthenticationParameters();
+ logger?.LogDebug("Authentication parameters validated");
if (App is null)
{
if (ParameterSetName == ParameterSetWinGet)
{
+ logger?.LogDebug("Loading package details from RootPackageFolder {RootPackageFolder}, PackageId {PackageId}, Version {Version}", RootPackageFolder, PackageId, Version);
PackageFolder = Path.Combine(RootPackageFolder!, PackageId!, Version!);
+ logger?.LogDebug("Loading package details from folder {packageFolder}", PackageFolder);
}
if (PackageFolder is not null)
@@ -156,7 +160,9 @@ public override async Task ProcessRecordAsync(CancellationToken cancellationToke
}
else
{
- throw new ArgumentException("No package or package id specified");
+ var ex = new ArgumentException("No App or PackageFolder was provided");
+ logger?.LogError(ex, "No App or PackageFolder was provided");
+ throw ex;
}
}
diff --git a/src/Svrooij.WinTuner.CmdLets/Commands/NewWtWingetPackage.cs b/src/Svrooij.WinTuner.CmdLets/Commands/NewWtWingetPackage.cs
index 17e0a6d..3dfe162 100644
--- a/src/Svrooij.WinTuner.CmdLets/Commands/NewWtWingetPackage.cs
+++ b/src/Svrooij.WinTuner.CmdLets/Commands/NewWtWingetPackage.cs
@@ -96,6 +96,17 @@ public class NewWtWingetPackage : DependencyCmdlet
HelpMessage = "Package WinGet script, instead of the actual installer. Helpful for installers that don't really work with WinTuner.")]
public bool? PackageScript { get; set; }
+ ///
+ /// Desired locale
+ ///
+ [Parameter(
+ Mandatory = false,
+ Position = 7,
+ ValueFromPipeline = true,
+ ValueFromPipelineByPropertyName = true,
+ HelpMessage = "The desired locale, if available (eg. 'en-US')")]
+ public string? Locale { get; set; }
+
[ServiceDependency]
private ILogger logger;
@@ -139,7 +150,8 @@ public override async Task ProcessRecordAsync(CancellationToken cancellationToke
{
Architecture = Architecture,
InstallerContext = InstallerContext,
- PackageScript = PackageScript ?? false
+ PackageScript = PackageScript ?? false,
+ Locale = Locale,
},
cancellationToken: cancellationToken);
diff --git a/src/Svrooij.WinTuner.CmdLets/Svrooij.WinTuner.CmdLets.csproj b/src/Svrooij.WinTuner.CmdLets/Svrooij.WinTuner.CmdLets.csproj
index d06c41d..4ad79d1 100644
--- a/src/Svrooij.WinTuner.CmdLets/Svrooij.WinTuner.CmdLets.csproj
+++ b/src/Svrooij.WinTuner.CmdLets/Svrooij.WinTuner.CmdLets.csproj
@@ -13,7 +13,7 @@
-
+
All
diff --git a/src/Svrooij.WinTuner.CmdLets/packages.lock.json b/src/Svrooij.WinTuner.CmdLets/packages.lock.json
index e656970..97b0792 100644
--- a/src/Svrooij.WinTuner.CmdLets/packages.lock.json
+++ b/src/Svrooij.WinTuner.CmdLets/packages.lock.json
@@ -4,13 +4,13 @@
"net6.0": {
"Azure.Identity": {
"type": "Direct",
- "requested": "[1.11.3, )",
- "resolved": "1.11.3",
- "contentHash": "4EsGMAr+oog5UqHs46qwA7S/lJiwpXjPBY3t9tQBmJ8nsgmT/LLnrc32eiTlfOdfKxUz4fxBD2YjSnVZacu97w==",
+ "requested": "[1.11.4, )",
+ "resolved": "1.11.4",
+ "contentHash": "Sf4BoE6Q3jTgFkgBkx7qztYOFELBCo+wQgpYDwal/qJ1unBH73ywPztIJKXBXORRzAeNijsuxhk94h0TIMvfYg==",
"dependencies": {
"Azure.Core": "1.38.0",
- "Microsoft.Identity.Client": "4.60.3",
- "Microsoft.Identity.Client.Extensions.Msal": "4.60.3",
+ "Microsoft.Identity.Client": "4.61.3",
+ "Microsoft.Identity.Client.Extensions.Msal": "4.61.3",
"System.Memory": "4.5.4",
"System.Security.Cryptography.ProtectedData": "4.7.0",
"System.Text.Json": "4.7.2",
@@ -267,8 +267,8 @@
},
"Microsoft.Identity.Client": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "lhOpbxaaVfAJ2pocXHxSpYbO5JhVznQLMX7s4CCP0Ay0Xozk8YyIwVScbnCPotEaG2EnQrH+44qymrCLte9juw==",
+ "resolved": "4.61.3",
+ "contentHash": "naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==",
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "6.35.0",
"System.Diagnostics.DiagnosticSource": "6.0.1"
@@ -276,19 +276,19 @@
},
"Microsoft.Identity.Client.Broker": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "YTxDfFSgWxrtcqL8cee+LmyFRgPbQZ3wQP6z0POCr0ZgNDjKUsxYHk/iK1Iegz3t6BUnEdnMWSdQ0ZhcG7NZHQ==",
+ "resolved": "4.61.3",
+ "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"Microsoft.Identity.Client.NativeInterop": "0.16.1"
}
},
"Microsoft.Identity.Client.Extensions.Msal": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "aTDwdyurRz89EeTW9PFtF3pke7WTgKyaqGjeuZ0x7aSsWbupb14dXM/POKYO0D7bfpx7utyJ2A2axmb3T2zfSg==",
+ "resolved": "4.61.3",
+ "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"System.Security.Cryptography.ProtectedData": "4.5.0"
}
},
@@ -299,23 +299,23 @@
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA=="
+ "resolved": "7.6.0",
+ "contentHash": "q4MZ8d0LlWKWtQfxNl9ZRZVOQ7IPEAR6CF4rFKITfuqEUOhqrbwHbqBanReI37155IKb8V/tPJqpPa3KXm9wQQ=="
},
"Microsoft.IdentityModel.JsonWebTokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+ "resolved": "7.6.0",
+ "contentHash": "lsleZbCuh3wZ3RfKd8WJ7E52nIeQQzJsDrgHN+B3Zhzd32UTQ1V3Vjn1N9PssnSulAoEMF0aAiue7ucX+TPoQA==",
"dependencies": {
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"Microsoft.IdentityModel.Logging": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+ "resolved": "7.6.0",
+ "contentHash": "7AVJhNY4y/i96XGfaXovX8aAyYWz6HHtPEPHPpbg5JCchwVaoO08VmmpHe0L2gVagW/iHG0w4a4Xg9gxLXQ/8A==",
"dependencies": {
- "Microsoft.IdentityModel.Abstractions": "7.5.2"
+ "Microsoft.IdentityModel.Abstractions": "7.6.0"
}
},
"Microsoft.IdentityModel.Protocols": {
@@ -338,10 +338,10 @@
},
"Microsoft.IdentityModel.Tokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+ "resolved": "7.6.0",
+ "contentHash": "xvEil42RUe4Si/TuLDvglNXpklgCWMSecPduczXPS2BAypjheUehPqKLwIy8vSdzB4K2zza3yLgmODBt+J6ZxQ==",
"dependencies": {
- "Microsoft.IdentityModel.Logging": "7.5.2"
+ "Microsoft.IdentityModel.Logging": "7.6.0"
}
},
"Microsoft.Kiota.Abstractions": {
@@ -860,11 +860,11 @@
},
"System.IdentityModel.Tokens.Jwt": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+ "resolved": "7.6.0",
+ "contentHash": "LIuEbv/kFpuw00yI/mPu+T9NAVdH/u7Y5ChCGzYQQeCg9Pft2C7HFWuO/P+Z7c2RcySNjVk1FmuAheKjYIbOkw==",
"dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.JsonWebTokens": "7.6.0",
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"System.IO": {
@@ -1258,11 +1258,11 @@
"Microsoft.Extensions.Logging.Abstractions": "[8.0.1, )",
"Microsoft.Extensions.Options": "[8.0.2, )",
"Microsoft.Graph.Beta": "[5.59.0-preview, )",
- "Microsoft.Identity.Client.Broker": "[4.61.1, )",
- "Microsoft.Identity.Client.Extensions.Msal": "[4.61.1, )",
+ "Microsoft.Identity.Client.Broker": "[4.61.3, )",
+ "Microsoft.Identity.Client.Extensions.Msal": "[4.61.3, )",
"Riok.Mapperly": "[3.5.1, )",
"SvRooij.ContentPrep": "[0.1.3-alpha0001, )",
- "System.IdentityModel.Tokens.Jwt": "[7.5.2, )",
+ "System.IdentityModel.Tokens.Jwt": "[7.6.0, )",
"Winget.CommunityRepository": "[1.0.0, )"
}
}
diff --git a/src/Winget.CommunityRepository/Models/WingetInstallerManifest.cs b/src/Winget.CommunityRepository/Models/WingetInstallerManifest.cs
index 15e8c0b..7e98b8a 100644
--- a/src/Winget.CommunityRepository/Models/WingetInstallerManifest.cs
+++ b/src/Winget.CommunityRepository/Models/WingetInstallerManifest.cs
@@ -64,7 +64,8 @@ public override string ToString()
public string? GetPreferred()
{
- return Custom ?? Silent ?? SilentWithProgress; // ?? Interactive;
+ var result = string.Join(' ', Custom, (Silent ?? SilentWithProgress)).Trim();
+ return string.IsNullOrEmpty(result) ? null : result; // ?? Interactive
}
}
diff --git a/src/WingetIntune.Cli/WingetIntune.Cli.csproj b/src/WingetIntune.Cli/WingetIntune.Cli.csproj
index 03e659a..4ce2053 100644
--- a/src/WingetIntune.Cli/WingetIntune.Cli.csproj
+++ b/src/WingetIntune.Cli/WingetIntune.Cli.csproj
@@ -40,7 +40,7 @@
-
+
diff --git a/src/WingetIntune.Cli/packages.lock.json b/src/WingetIntune.Cli/packages.lock.json
index 877b70a..d3f7233 100644
--- a/src/WingetIntune.Cli/packages.lock.json
+++ b/src/WingetIntune.Cli/packages.lock.json
@@ -4,13 +4,13 @@
"net8.0": {
"Azure.Identity": {
"type": "Direct",
- "requested": "[1.11.3, )",
- "resolved": "1.11.3",
- "contentHash": "4EsGMAr+oog5UqHs46qwA7S/lJiwpXjPBY3t9tQBmJ8nsgmT/LLnrc32eiTlfOdfKxUz4fxBD2YjSnVZacu97w==",
+ "requested": "[1.11.4, )",
+ "resolved": "1.11.4",
+ "contentHash": "Sf4BoE6Q3jTgFkgBkx7qztYOFELBCo+wQgpYDwal/qJ1unBH73ywPztIJKXBXORRzAeNijsuxhk94h0TIMvfYg==",
"dependencies": {
"Azure.Core": "1.38.0",
- "Microsoft.Identity.Client": "4.60.3",
- "Microsoft.Identity.Client.Extensions.Msal": "4.60.3",
+ "Microsoft.Identity.Client": "4.61.3",
+ "Microsoft.Identity.Client.Extensions.Msal": "4.61.3",
"System.Memory": "4.5.4",
"System.Security.Cryptography.ProtectedData": "4.7.0",
"System.Text.Json": "4.7.2",
@@ -472,8 +472,8 @@
},
"Microsoft.Identity.Client": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "lhOpbxaaVfAJ2pocXHxSpYbO5JhVznQLMX7s4CCP0Ay0Xozk8YyIwVScbnCPotEaG2EnQrH+44qymrCLte9juw==",
+ "resolved": "4.61.3",
+ "contentHash": "naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==",
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "6.35.0",
"System.Diagnostics.DiagnosticSource": "6.0.1"
@@ -481,19 +481,19 @@
},
"Microsoft.Identity.Client.Broker": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "YTxDfFSgWxrtcqL8cee+LmyFRgPbQZ3wQP6z0POCr0ZgNDjKUsxYHk/iK1Iegz3t6BUnEdnMWSdQ0ZhcG7NZHQ==",
+ "resolved": "4.61.3",
+ "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"Microsoft.Identity.Client.NativeInterop": "0.16.1"
}
},
"Microsoft.Identity.Client.Extensions.Msal": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "aTDwdyurRz89EeTW9PFtF3pke7WTgKyaqGjeuZ0x7aSsWbupb14dXM/POKYO0D7bfpx7utyJ2A2axmb3T2zfSg==",
+ "resolved": "4.61.3",
+ "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"System.Security.Cryptography.ProtectedData": "4.5.0"
}
},
@@ -504,23 +504,23 @@
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA=="
+ "resolved": "7.6.0",
+ "contentHash": "q4MZ8d0LlWKWtQfxNl9ZRZVOQ7IPEAR6CF4rFKITfuqEUOhqrbwHbqBanReI37155IKb8V/tPJqpPa3KXm9wQQ=="
},
"Microsoft.IdentityModel.JsonWebTokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+ "resolved": "7.6.0",
+ "contentHash": "lsleZbCuh3wZ3RfKd8WJ7E52nIeQQzJsDrgHN+B3Zhzd32UTQ1V3Vjn1N9PssnSulAoEMF0aAiue7ucX+TPoQA==",
"dependencies": {
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"Microsoft.IdentityModel.Logging": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+ "resolved": "7.6.0",
+ "contentHash": "7AVJhNY4y/i96XGfaXovX8aAyYWz6HHtPEPHPpbg5JCchwVaoO08VmmpHe0L2gVagW/iHG0w4a4Xg9gxLXQ/8A==",
"dependencies": {
- "Microsoft.IdentityModel.Abstractions": "7.5.2"
+ "Microsoft.IdentityModel.Abstractions": "7.6.0"
}
},
"Microsoft.IdentityModel.Protocols": {
@@ -543,10 +543,10 @@
},
"Microsoft.IdentityModel.Tokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+ "resolved": "7.6.0",
+ "contentHash": "xvEil42RUe4Si/TuLDvglNXpklgCWMSecPduczXPS2BAypjheUehPqKLwIy8vSdzB4K2zza3yLgmODBt+J6ZxQ==",
"dependencies": {
- "Microsoft.IdentityModel.Logging": "7.5.2"
+ "Microsoft.IdentityModel.Logging": "7.6.0"
}
},
"Microsoft.Kiota.Abstractions": {
@@ -728,11 +728,11 @@
},
"System.IdentityModel.Tokens.Jwt": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+ "resolved": "7.6.0",
+ "contentHash": "LIuEbv/kFpuw00yI/mPu+T9NAVdH/u7Y5ChCGzYQQeCg9Pft2C7HFWuO/P+Z7c2RcySNjVk1FmuAheKjYIbOkw==",
"dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.JsonWebTokens": "7.6.0",
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"System.IO": {
@@ -919,11 +919,11 @@
"Microsoft.Extensions.Logging.Abstractions": "[8.0.1, )",
"Microsoft.Extensions.Options": "[8.0.2, )",
"Microsoft.Graph.Beta": "[5.59.0-preview, )",
- "Microsoft.Identity.Client.Broker": "[4.61.1, )",
- "Microsoft.Identity.Client.Extensions.Msal": "[4.61.1, )",
+ "Microsoft.Identity.Client.Broker": "[4.61.3, )",
+ "Microsoft.Identity.Client.Extensions.Msal": "[4.61.3, )",
"Riok.Mapperly": "[3.5.1, )",
"SvRooij.ContentPrep": "[0.1.3-alpha0001, )",
- "System.IdentityModel.Tokens.Jwt": "[7.5.2, )",
+ "System.IdentityModel.Tokens.Jwt": "[7.6.0, )",
"Winget.CommunityRepository": "[1.0.0, )"
}
}
diff --git a/src/WingetIntune/Intune/IntuneManager.cs b/src/WingetIntune/Intune/IntuneManager.cs
index 134183e..97b6799 100644
--- a/src/WingetIntune/Intune/IntuneManager.cs
+++ b/src/WingetIntune/Intune/IntuneManager.cs
@@ -499,10 +499,10 @@ private void LoadMsiDetails(string installerPath, ref PackageInfo packageInfo)
private void ComputeInstallerDetails(ref PackageInfo package, PackageOptions packageOptions)
{
- var installer = package.GetBestFit(packageOptions.Architecture, packageOptions.InstallerContext)
- ?? package.GetBestFit(Architecture.Neutral, InstallerContext.Unknown)
- ?? package.GetBestFit(Architecture.Neutral, packageOptions.InstallerContext)
- ?? package.GetBestFit(packageOptions.Architecture, InstallerContext.Unknown);
+ var installer = package.GetBestFit(packageOptions.Architecture, packageOptions.InstallerContext, packageOptions.Locale)
+ ?? package.GetBestFit(Architecture.Neutral, InstallerContext.Unknown, packageOptions.Locale)
+ ?? package.GetBestFit(Architecture.Neutral, packageOptions.InstallerContext, packageOptions.Locale)
+ ?? package.GetBestFit(packageOptions.Architecture, InstallerContext.Unknown, packageOptions.Locale);
if (installer == null && packageOptions.Architecture == Architecture.X64)
{
installer = package.GetBestFit(Architecture.X86, packageOptions.InstallerContext)
diff --git a/src/WingetIntune/Intune/MetadataManager.cs b/src/WingetIntune/Intune/MetadataManager.cs
index 701d051..c4ba390 100644
--- a/src/WingetIntune/Intune/MetadataManager.cs
+++ b/src/WingetIntune/Intune/MetadataManager.cs
@@ -24,19 +24,29 @@ public MetadataManager(ILogger logger, IFileManager fileManager
public async Task LoadPackageInfoFromFolderAsync(string folder, CancellationToken cancellationToken)
{
+ logger.LogDebug("Loading package info from {folder}", folder);
#if NET8_0_OR_GREATER
ArgumentException.ThrowIfNullOrEmpty(folder);
#endif
var filename = Path.Combine(folder, "app.json");
if (!fileManager.FileExists(filename))
{
- throw new FileNotFoundException($"Could not find app.json in folder {folder}", filename);
+ var ex = new FileNotFoundException($"Could not find app.json in folder {folder}", filename);
+ logger.LogWarning(ex, "Could not find app.json in folder {folder}", folder);
+ throw ex;
}
logger.LogDebug("Loading package info from {filename}", filename);
var data = await fileManager.ReadAllBytesAsync(filename, cancellationToken);
- return JsonSerializer.Deserialize(data, MyJsonContext.Default.PackageInfo)!;
+ var result = JsonSerializer.Deserialize(data, MyJsonContext.Default.PackageInfo);
+ if (result == null)
+ {
+ var ex = new InvalidOperationException($"Could not deserialize app.json");
+ logger.LogWarning(ex, "Could not deserialize app.json in folder {folder}", folder);
+ throw ex;
+ }
+ return result;
}
public Task LoadPackageInfoFromFolderAsync(string rootFolder, string packageId, string version, CancellationToken cancellationToken) =>
diff --git a/src/WingetIntune/Models/Manifest/WingetInstallerExtensions.cs b/src/WingetIntune/Models/Manifest/WingetInstallerExtensions.cs
index 47db880..b0cb11d 100644
--- a/src/WingetIntune/Models/Manifest/WingetInstallerExtensions.cs
+++ b/src/WingetIntune/Models/Manifest/WingetInstallerExtensions.cs
@@ -2,10 +2,10 @@
internal static class WingetInstallerExtensions
{
- public static Winget.CommunityRepository.Models.WingetInstaller? SingleOrDefault(this IList? installers, InstallerType installerType, Architecture architecture, InstallerContext installerContext)
+ public static Winget.CommunityRepository.Models.WingetInstaller? SingleOrDefault(this IList? installers, InstallerType installerType, Architecture architecture, InstallerContext installerContext, string? locale = null)
{
if (installers is null || !installers.Any()) { return null; }
- return installers.singleOrDefault(installerType, architecture, installerContext, "en-US")
+ return installers.singleOrDefault(installerType, architecture, installerContext, locale ?? "en-US")
?? installers.singleOrDefault(installerType, architecture, installerContext);
}
@@ -13,7 +13,7 @@ internal static class WingetInstallerExtensions
{
return installers.FirstOrDefault(i =>
(i.ParseInstallerType() == installerType || installerType == InstallerType.Unknown)
- && (i.InstallerArchitecture() == architecture || architecture == Architecture.Unknown)
+ && (i.InstallerArchitecture() == architecture || (architecture == Architecture.Unknown && i.InstallerArchitecture() == Architecture.X64))
&& (i.ParseInstallerContext() == installerContext || installerContext == InstallerContext.Unknown)
&& (string.IsNullOrWhiteSpace(locale) || i.InstallerLocale == locale));
}
diff --git a/src/WingetIntune/Models/PackageInfo.cs b/src/WingetIntune/Models/PackageInfo.cs
index a5a0ff8..05f1a14 100644
--- a/src/WingetIntune/Models/PackageInfo.cs
+++ b/src/WingetIntune/Models/PackageInfo.cs
@@ -31,15 +31,15 @@ public class PackageInfo
public string? DetectionScript { get; set; }
- internal WingetInstaller? GetBestFit(Architecture architecture, InstallerContext context)
+ internal WingetInstaller? GetBestFit(Architecture architecture, InstallerContext context, string? locale = null)
{
if (Installers is null) { return null; }
- return Installers.SingleOrDefault(Models.InstallerType.Msi, architecture, context)
- ?? Installers.SingleOrDefault(Models.InstallerType.Msi, architecture, Models.InstallerContext.Unknown)
- ?? Installers.SingleOrDefault(Models.InstallerType.Wix, architecture, context)
- ?? Installers.SingleOrDefault(Models.InstallerType.Wix, architecture, Models.InstallerContext.Unknown)
- ?? Installers.SingleOrDefault(Models.InstallerType.Unknown, architecture, context)
- ?? Installers.SingleOrDefault(Models.InstallerType.Unknown, architecture, Models.InstallerContext.Unknown)
+ return Installers.SingleOrDefault(Models.InstallerType.Msi, architecture, context, locale)
+ ?? Installers.SingleOrDefault(Models.InstallerType.Msi, architecture, Models.InstallerContext.Unknown, locale)
+ ?? Installers.SingleOrDefault(Models.InstallerType.Wix, architecture, context, locale)
+ ?? Installers.SingleOrDefault(Models.InstallerType.Wix, architecture, Models.InstallerContext.Unknown, locale)
+ ?? Installers.SingleOrDefault(Models.InstallerType.Unknown, architecture, context, locale)
+ ?? Installers.SingleOrDefault(Models.InstallerType.Unknown, architecture, Models.InstallerContext.Unknown, locale)
;
}
diff --git a/src/WingetIntune/Models/PackageOptions.cs b/src/WingetIntune/Models/PackageOptions.cs
index 78d2125..58e835b 100644
--- a/src/WingetIntune/Models/PackageOptions.cs
+++ b/src/WingetIntune/Models/PackageOptions.cs
@@ -5,6 +5,6 @@ public class PackageOptions
public InstallerContext InstallerContext { get; init; }
public Architecture Architecture { get; init; }
public bool PackageScript { get; init; }
-
+ public string? Locale { get; init; }
public static PackageOptions Create() => new PackageOptions { Architecture = Architecture.X64, InstallerContext = InstallerContext.System, PackageScript = false };
}
diff --git a/src/WingetIntune/WingetIntune.csproj b/src/WingetIntune/WingetIntune.csproj
index bd13136..67bb272 100644
--- a/src/WingetIntune/WingetIntune.csproj
+++ b/src/WingetIntune/WingetIntune.csproj
@@ -30,11 +30,11 @@
-
-
+
+
-
+
diff --git a/src/WingetIntune/packages.lock.json b/src/WingetIntune/packages.lock.json
index 69a2482..ec7319f 100644
--- a/src/WingetIntune/packages.lock.json
+++ b/src/WingetIntune/packages.lock.json
@@ -57,21 +57,21 @@
},
"Microsoft.Identity.Client.Broker": {
"type": "Direct",
- "requested": "[4.61.1, )",
- "resolved": "4.61.1",
- "contentHash": "YTxDfFSgWxrtcqL8cee+LmyFRgPbQZ3wQP6z0POCr0ZgNDjKUsxYHk/iK1Iegz3t6BUnEdnMWSdQ0ZhcG7NZHQ==",
+ "requested": "[4.61.3, )",
+ "resolved": "4.61.3",
+ "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"Microsoft.Identity.Client.NativeInterop": "0.16.1"
}
},
"Microsoft.Identity.Client.Extensions.Msal": {
"type": "Direct",
- "requested": "[4.61.1, )",
- "resolved": "4.61.1",
- "contentHash": "aTDwdyurRz89EeTW9PFtF3pke7WTgKyaqGjeuZ0x7aSsWbupb14dXM/POKYO0D7bfpx7utyJ2A2axmb3T2zfSg==",
+ "requested": "[4.61.3, )",
+ "resolved": "4.61.3",
+ "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"System.Security.Cryptography.ProtectedData": "4.5.0"
}
},
@@ -94,12 +94,12 @@
},
"System.IdentityModel.Tokens.Jwt": {
"type": "Direct",
- "requested": "[7.5.2, )",
- "resolved": "7.5.2",
- "contentHash": "taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+ "requested": "[7.6.0, )",
+ "resolved": "7.6.0",
+ "contentHash": "LIuEbv/kFpuw00yI/mPu+T9NAVdH/u7Y5ChCGzYQQeCg9Pft2C7HFWuO/P+Z7c2RcySNjVk1FmuAheKjYIbOkw==",
"dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.JsonWebTokens": "7.6.0",
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"Azure.Core": {
@@ -174,8 +174,8 @@
},
"Microsoft.Identity.Client": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "lhOpbxaaVfAJ2pocXHxSpYbO5JhVznQLMX7s4CCP0Ay0Xozk8YyIwVScbnCPotEaG2EnQrH+44qymrCLte9juw==",
+ "resolved": "4.61.3",
+ "contentHash": "naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==",
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "6.35.0",
"System.Diagnostics.DiagnosticSource": "6.0.1"
@@ -188,23 +188,23 @@
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA=="
+ "resolved": "7.6.0",
+ "contentHash": "q4MZ8d0LlWKWtQfxNl9ZRZVOQ7IPEAR6CF4rFKITfuqEUOhqrbwHbqBanReI37155IKb8V/tPJqpPa3KXm9wQQ=="
},
"Microsoft.IdentityModel.JsonWebTokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+ "resolved": "7.6.0",
+ "contentHash": "lsleZbCuh3wZ3RfKd8WJ7E52nIeQQzJsDrgHN+B3Zhzd32UTQ1V3Vjn1N9PssnSulAoEMF0aAiue7ucX+TPoQA==",
"dependencies": {
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"Microsoft.IdentityModel.Logging": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+ "resolved": "7.6.0",
+ "contentHash": "7AVJhNY4y/i96XGfaXovX8aAyYWz6HHtPEPHPpbg5JCchwVaoO08VmmpHe0L2gVagW/iHG0w4a4Xg9gxLXQ/8A==",
"dependencies": {
- "Microsoft.IdentityModel.Abstractions": "7.5.2"
+ "Microsoft.IdentityModel.Abstractions": "7.6.0"
}
},
"Microsoft.IdentityModel.Protocols": {
@@ -227,10 +227,10 @@
},
"Microsoft.IdentityModel.Tokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+ "resolved": "7.6.0",
+ "contentHash": "xvEil42RUe4Si/TuLDvglNXpklgCWMSecPduczXPS2BAypjheUehPqKLwIy8vSdzB4K2zza3yLgmODBt+J6ZxQ==",
"dependencies": {
- "Microsoft.IdentityModel.Logging": "7.5.2"
+ "Microsoft.IdentityModel.Logging": "7.6.0"
}
},
"Microsoft.Kiota.Abstractions": {
@@ -569,21 +569,21 @@
},
"Microsoft.Identity.Client.Broker": {
"type": "Direct",
- "requested": "[4.61.1, )",
- "resolved": "4.61.1",
- "contentHash": "YTxDfFSgWxrtcqL8cee+LmyFRgPbQZ3wQP6z0POCr0ZgNDjKUsxYHk/iK1Iegz3t6BUnEdnMWSdQ0ZhcG7NZHQ==",
+ "requested": "[4.61.3, )",
+ "resolved": "4.61.3",
+ "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"Microsoft.Identity.Client.NativeInterop": "0.16.1"
}
},
"Microsoft.Identity.Client.Extensions.Msal": {
"type": "Direct",
- "requested": "[4.61.1, )",
- "resolved": "4.61.1",
- "contentHash": "aTDwdyurRz89EeTW9PFtF3pke7WTgKyaqGjeuZ0x7aSsWbupb14dXM/POKYO0D7bfpx7utyJ2A2axmb3T2zfSg==",
+ "requested": "[4.61.3, )",
+ "resolved": "4.61.3",
+ "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"System.Security.Cryptography.ProtectedData": "4.5.0"
}
},
@@ -606,12 +606,12 @@
},
"System.IdentityModel.Tokens.Jwt": {
"type": "Direct",
- "requested": "[7.5.2, )",
- "resolved": "7.5.2",
- "contentHash": "taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+ "requested": "[7.6.0, )",
+ "resolved": "7.6.0",
+ "contentHash": "LIuEbv/kFpuw00yI/mPu+T9NAVdH/u7Y5ChCGzYQQeCg9Pft2C7HFWuO/P+Z7c2RcySNjVk1FmuAheKjYIbOkw==",
"dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.JsonWebTokens": "7.6.0",
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"Azure.Core": {
@@ -732,8 +732,8 @@
},
"Microsoft.Identity.Client": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "lhOpbxaaVfAJ2pocXHxSpYbO5JhVznQLMX7s4CCP0Ay0Xozk8YyIwVScbnCPotEaG2EnQrH+44qymrCLte9juw==",
+ "resolved": "4.61.3",
+ "contentHash": "naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==",
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "6.35.0",
"System.Diagnostics.DiagnosticSource": "6.0.1"
@@ -746,23 +746,23 @@
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA=="
+ "resolved": "7.6.0",
+ "contentHash": "q4MZ8d0LlWKWtQfxNl9ZRZVOQ7IPEAR6CF4rFKITfuqEUOhqrbwHbqBanReI37155IKb8V/tPJqpPa3KXm9wQQ=="
},
"Microsoft.IdentityModel.JsonWebTokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+ "resolved": "7.6.0",
+ "contentHash": "lsleZbCuh3wZ3RfKd8WJ7E52nIeQQzJsDrgHN+B3Zhzd32UTQ1V3Vjn1N9PssnSulAoEMF0aAiue7ucX+TPoQA==",
"dependencies": {
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"Microsoft.IdentityModel.Logging": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+ "resolved": "7.6.0",
+ "contentHash": "7AVJhNY4y/i96XGfaXovX8aAyYWz6HHtPEPHPpbg5JCchwVaoO08VmmpHe0L2gVagW/iHG0w4a4Xg9gxLXQ/8A==",
"dependencies": {
- "Microsoft.IdentityModel.Abstractions": "7.5.2"
+ "Microsoft.IdentityModel.Abstractions": "7.6.0"
}
},
"Microsoft.IdentityModel.Protocols": {
@@ -785,10 +785,10 @@
},
"Microsoft.IdentityModel.Tokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+ "resolved": "7.6.0",
+ "contentHash": "xvEil42RUe4Si/TuLDvglNXpklgCWMSecPduczXPS2BAypjheUehPqKLwIy8vSdzB4K2zza3yLgmODBt+J6ZxQ==",
"dependencies": {
- "Microsoft.IdentityModel.Logging": "7.5.2"
+ "Microsoft.IdentityModel.Logging": "7.6.0"
}
},
"Microsoft.Kiota.Abstractions": {
diff --git a/tests/WingetIntune.Tests/WingetIntune.Tests.csproj b/tests/WingetIntune.Tests/WingetIntune.Tests.csproj
index 3a84b08..82fc433 100644
--- a/tests/WingetIntune.Tests/WingetIntune.Tests.csproj
+++ b/tests/WingetIntune.Tests/WingetIntune.Tests.csproj
@@ -38,7 +38,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/tests/WingetIntune.Tests/packages.lock.json b/tests/WingetIntune.Tests/packages.lock.json
index 1ca2e61..ed50961 100644
--- a/tests/WingetIntune.Tests/packages.lock.json
+++ b/tests/WingetIntune.Tests/packages.lock.json
@@ -16,11 +16,11 @@
},
"GitHubActionsTestLogger": {
"type": "Direct",
- "requested": "[2.3.3, )",
- "resolved": "2.3.3",
- "contentHash": "9mBfuOIUmZ3dnL/hYaENh/eGKC6r3ufwo2rEkWJVDDj2UUGuu59GsMezYkV3bj/wZ8rcgzDIr1fj/wXh1yklQA==",
+ "requested": "[2.4.1, )",
+ "resolved": "2.4.1",
+ "contentHash": "SH1ar/kg36CggzMqLUDRoUqR8SSjK/JiQ2JS8MYg8u0RCLDkkDEbPGIN91omOPx9f2GuDqsxxofSdgsQje3Xuw==",
"dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "17.7.1"
+ "Microsoft.TestPlatform.ObjectModel": "17.10.0"
}
},
"Microsoft.NET.Test.Sdk": {
@@ -238,8 +238,8 @@
},
"Microsoft.Identity.Client": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "lhOpbxaaVfAJ2pocXHxSpYbO5JhVznQLMX7s4CCP0Ay0Xozk8YyIwVScbnCPotEaG2EnQrH+44qymrCLte9juw==",
+ "resolved": "4.61.3",
+ "contentHash": "naJo/Qm35Caaoxp5utcw+R8eU8ZtLz2ALh8S+gkekOYQ1oazfCQMWVT4NJ/FnHzdIJlm8dMz0oMpMGCabx5odA==",
"dependencies": {
"Microsoft.IdentityModel.Abstractions": "6.35.0",
"System.Diagnostics.DiagnosticSource": "6.0.1"
@@ -247,19 +247,19 @@
},
"Microsoft.Identity.Client.Broker": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "YTxDfFSgWxrtcqL8cee+LmyFRgPbQZ3wQP6z0POCr0ZgNDjKUsxYHk/iK1Iegz3t6BUnEdnMWSdQ0ZhcG7NZHQ==",
+ "resolved": "4.61.3",
+ "contentHash": "VX8YJYmjNZzWjLuwAwBWzTtfNRTqjj5DKPEci6eNa2tedBWSyOGvcsVMVUL/vy1oRSAjfpwzUIFlXCmhWnCAeA==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"Microsoft.Identity.Client.NativeInterop": "0.16.1"
}
},
"Microsoft.Identity.Client.Extensions.Msal": {
"type": "Transitive",
- "resolved": "4.61.1",
- "contentHash": "aTDwdyurRz89EeTW9PFtF3pke7WTgKyaqGjeuZ0x7aSsWbupb14dXM/POKYO0D7bfpx7utyJ2A2axmb3T2zfSg==",
+ "resolved": "4.61.3",
+ "contentHash": "PWnJcznrSGr25MN8ajlc2XIDW4zCFu0U6FkpaNLEWLgd1NgFCp5uDY3mqLDgM8zCN8hqj8yo5wHYfLB2HjcdGw==",
"dependencies": {
- "Microsoft.Identity.Client": "4.61.1",
+ "Microsoft.Identity.Client": "4.61.3",
"System.Security.Cryptography.ProtectedData": "4.5.0"
}
},
@@ -270,23 +270,23 @@
},
"Microsoft.IdentityModel.Abstractions": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "xXFP4PUcI/l4n3hpw4TXbvONNTQ9WflyMxUx03qNJXSd7dVtxbFrL+B9+IevMwzvktZjTVfMdDlzQoTzdtN1bA=="
+ "resolved": "7.6.0",
+ "contentHash": "q4MZ8d0LlWKWtQfxNl9ZRZVOQ7IPEAR6CF4rFKITfuqEUOhqrbwHbqBanReI37155IKb8V/tPJqpPa3KXm9wQQ=="
},
"Microsoft.IdentityModel.JsonWebTokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "gH3c88+YdT5QI6Rw2nnwjDUxzLgPPPbjMvUwvJrITyNAV3L5aswqxKIlmyQhaqltjGBGrMsCZCKwampWEMDN2w==",
+ "resolved": "7.6.0",
+ "contentHash": "lsleZbCuh3wZ3RfKd8WJ7E52nIeQQzJsDrgHN+B3Zhzd32UTQ1V3Vjn1N9PssnSulAoEMF0aAiue7ucX+TPoQA==",
"dependencies": {
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"Microsoft.IdentityModel.Logging": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "FpMJ2i1e8Z+1rAchYQiawk0ChwYv6CNtCQDtMzwzkZtUWQYmkrkLXzl3qniOT8FFQck7bPKhQJY6nU7P7tojwQ==",
+ "resolved": "7.6.0",
+ "contentHash": "7AVJhNY4y/i96XGfaXovX8aAyYWz6HHtPEPHPpbg5JCchwVaoO08VmmpHe0L2gVagW/iHG0w4a4Xg9gxLXQ/8A==",
"dependencies": {
- "Microsoft.IdentityModel.Abstractions": "7.5.2"
+ "Microsoft.IdentityModel.Abstractions": "7.6.0"
}
},
"Microsoft.IdentityModel.Protocols": {
@@ -309,10 +309,10 @@
},
"Microsoft.IdentityModel.Tokens": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "VFLS4Ajy5jadM/YV9x3FA4pHHwbEWTjkbN/RtShqVH8eI8j6UDg5522ogTx1iMLJKQdL9QbfxXx4d1+w1eCDgQ==",
+ "resolved": "7.6.0",
+ "contentHash": "xvEil42RUe4Si/TuLDvglNXpklgCWMSecPduczXPS2BAypjheUehPqKLwIy8vSdzB4K2zza3yLgmODBt+J6ZxQ==",
"dependencies": {
- "Microsoft.IdentityModel.Logging": "7.5.2"
+ "Microsoft.IdentityModel.Logging": "7.6.0"
}
},
"Microsoft.Kiota.Abstractions": {
@@ -469,11 +469,11 @@
},
"System.IdentityModel.Tokens.Jwt": {
"type": "Transitive",
- "resolved": "7.5.2",
- "contentHash": "taMjs3z9+tTYNhdD5g5XU89gMcqX7PSI6oji7yZXK8E4T1XjsZR5yDLdIqC1PVKYL5FAlrNWBNBaLshuESYHlw==",
+ "resolved": "7.6.0",
+ "contentHash": "LIuEbv/kFpuw00yI/mPu+T9NAVdH/u7Y5ChCGzYQQeCg9Pft2C7HFWuO/P+Z7c2RcySNjVk1FmuAheKjYIbOkw==",
"dependencies": {
- "Microsoft.IdentityModel.JsonWebTokens": "7.5.2",
- "Microsoft.IdentityModel.Tokens": "7.5.2"
+ "Microsoft.IdentityModel.JsonWebTokens": "7.6.0",
+ "Microsoft.IdentityModel.Tokens": "7.6.0"
}
},
"System.IO": {
@@ -695,11 +695,11 @@
"Microsoft.Extensions.Logging.Abstractions": "[8.0.1, )",
"Microsoft.Extensions.Options": "[8.0.2, )",
"Microsoft.Graph.Beta": "[5.59.0-preview, )",
- "Microsoft.Identity.Client.Broker": "[4.61.1, )",
- "Microsoft.Identity.Client.Extensions.Msal": "[4.61.1, )",
+ "Microsoft.Identity.Client.Broker": "[4.61.3, )",
+ "Microsoft.Identity.Client.Extensions.Msal": "[4.61.3, )",
"Riok.Mapperly": "[3.5.1, )",
"SvRooij.ContentPrep": "[0.1.3-alpha0001, )",
- "System.IdentityModel.Tokens.Jwt": "[7.5.2, )",
+ "System.IdentityModel.Tokens.Jwt": "[7.6.0, )",
"Winget.CommunityRepository": "[1.0.0, )"
}
}