From 2a7a22d937e58288858766ed6976dc0a19b16569 Mon Sep 17 00:00:00 2001 From: Stephan van Rooij <1292510+svrooij@users.noreply.github.com> Date: Sun, 17 Sep 2023 14:20:56 +0200 Subject: [PATCH] fix: Upload the correct setup filename It seems that the setupfile name is now mandatory. --- .../Models/Manifest/WingetInstallerManifest.cs | 10 +++++++++- src/WingetIntune/Models/Mapper.cs | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/WingetIntune/Models/Manifest/WingetInstallerManifest.cs b/src/WingetIntune/Models/Manifest/WingetInstallerManifest.cs index 704710a..23d388a 100644 --- a/src/WingetIntune/Models/Manifest/WingetInstallerManifest.cs +++ b/src/WingetIntune/Models/Manifest/WingetInstallerManifest.cs @@ -31,7 +31,15 @@ public class WingetInstaller public string? ProductCode { get; set; } public List? AppsAndFeaturesEntries { get; set; } public string? ElevationRequirement { get; set; } - public string? InstallerFilename => InstallerUrl?.Split('/').Last(); + public string? InstallerFilename + { + get + { + if (InstallerUrl is null) { return null; } + var uri = new Uri(InstallerUrl); + return Path.GetFileName(uri.LocalPath.Replace(" ", "")); + } + } public InstallerContext InstallerContext => EnumParsers.ParseInstallerContext(Scope); public Architecture InstallerArchitecture => EnumParsers.ParseArchitecture(Architecture); public InstallerType ParsedInstallerType => EnumParsers.ParseInstallerType(InstallerType); diff --git a/src/WingetIntune/Models/Mapper.cs b/src/WingetIntune/Models/Mapper.cs index 644e7b5..0c504c7 100644 --- a/src/WingetIntune/Models/Mapper.cs +++ b/src/WingetIntune/Models/Mapper.cs @@ -91,6 +91,7 @@ public Win32LobApp ToWin32LobApp(PackageInfo packageInfo) } app.Developer = packageInfo.Publisher; app.FileName = Path.GetFileNameWithoutExtension(packageInfo.InstallerFilename) + ".intunewin"; + app.SetupFilePath = packageInfo.InstallerFilename ?? "install.ps1"; app.Notes = $"Generated by {nameof(WingetIntune)} at {DateTimeOffset.UtcNow} [WingetIntune|{packageInfo.Source}|{packageInfo.PackageIdentifier}]"; return app; }