From 0dc1e4fe6377d935a2a1b4dd3323a278f55ba8f6 Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:13:07 +0100 Subject: [PATCH 01/10] Update New-Win32App.ps1 --- Scripts/New-Win32App.ps1 | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/Scripts/New-Win32App.ps1 b/Scripts/New-Win32App.ps1 index 15bb4fb..89cb58e 100644 --- a/Scripts/New-Win32App.ps1 +++ b/Scripts/New-Win32App.ps1 @@ -19,6 +19,7 @@ 1.0.0 - (2020-09-26) Script created 1.0.1 - (2023-05-29) Fixed bugs mention in release notes for Intune App Factory 1.0.1 1.0.2 - (2024-03-04) Added support for ScopeTagName parameter, added Assignment handling + 1.0.3 - (2024-11-01) Added support for CompanyPortalFeaturedApp parameter, CategoryName parameter and MaximumInstallationTimeInMinutes parameter #> [CmdletBinding(SupportsShouldProcess = $true)] param ( @@ -591,15 +592,33 @@ Process { if (-not([string]::IsNullOrEmpty($AppData.Information.Owner))) { $Win32AppArgs.Add("Owner", $AppData.Information.Owner) } + if (-not([string]::IsNullOrEmpty($AppData.Information.Developer))) { + $Win32AppArgs.Add("Developer", $AppData.Information.Developer) + } if (-not([string]::IsNullOrEmpty($AppData.Information.Notes))) { $Win32AppArgs.Add("Notes", $AppData.Information.Notes) } + if (-not([string]::IsNullOrEmpty($AppData.Information.InformationURL))) { + $Win32AppArgs.Add("InformationURL", $AppData.Information.InformationURL) + } + if (-not([string]::IsNullOrEmpty($AppData.Information.PrivacyURL))) { + $Win32AppArgs.Add("PrivacyURL", $AppData.Information.PrivacyURL) + } + if (-not([string]::IsNullOrEmpty($AppData.Information.CompanyPortalFeaturedApp))) { + $Win32AppArgs.Add("CompanyPortalFeaturedApp", [System.Convert]::ToBoolean($AppData.Information.CompanyPortalFeaturedApp)) + } + if (-not([string]::IsNullOrEmpty($AppData.Information.CategoryName))) { + $Win32AppArgs.Add("CategoryName", $AppData.Information.CategoryName) + } if (-not([string]::IsNullOrEmpty($AppData.Program.InstallCommand))) { $Win32AppArgs.Add("InstallCommandLine", $AppData.Program.InstallCommand) } if (-not([string]::IsNullOrEmpty($AppData.Program.UninstallCommand))) { $Win32AppArgs.Add("UninstallCommandLine", $AppData.Program.UninstallCommand) } + if (-not([string]::IsNullOrEmpty($AppData.Program.MaximumInstallationTimeInMinutes))) { + $Win32AppArgs.Add("MaximumInstallationTimeInMinutes", $AppData.Program.MaximumInstallationTimeInMinutes) + } if (-not([string]::IsNullOrEmpty($AppData.Program.AllowAvailableUninstall))) { if ($AppData.Program.AllowAvailableUninstall -eq $true) { $Win32AppArgs.Add("AllowAvailableUninstall", $true) @@ -679,4 +698,4 @@ Process { Write-Output -InputObject "Failed to locate required $($AppsPublishListFileName) file in build artifacts staging directory, aborting pipeline" Write-Output -InputObject "##vso[task.setvariable variable=shouldrun;isOutput=true]false" } -} \ No newline at end of file +} From b21292d3f3a2b404f08f8f2d6ffdb176a7ab7894 Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:17:02 +0100 Subject: [PATCH 02/10] Update App.json with new Features --- Apps/7Zip/App.json | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Apps/7Zip/App.json b/Apps/7Zip/App.json index 3b694c5..71d6353 100644 --- a/Apps/7Zip/App.json +++ b/Apps/7Zip/App.json @@ -12,15 +12,22 @@ "AppVersion": "", "Description": "Install 7-Zip", "Publisher": "", + "Developer": "", "Notes": "", - "Owner": "", + "InformationURL": "", + "PrivacyURL": "", + "CompanyPortalFeaturedApp": false, + "CategoryName": [""], + "Owner": "" "ScopeTagName": "" }, "Program": { "InstallCommand": "Deploy-Application.exe Install", "UninstallCommand": "Deploy-Application.exe Uninstall", "InstallExperience": "system", - "DeviceRestartBehavior": "suppress" + "DeviceRestartBehavior": "suppress", + "MaximumInstallationTimeInMinutes": "60", + "AllowAvailableUninstall": "true", }, "RequirementRule": { "MinimumSupportedWindowsRelease": "W10_22H2", @@ -57,4 +64,4 @@ "RestartNotificationSnoozeInMinutes": "" } ] -} \ No newline at end of file +} From eddba2c3594b0f44eb8309410acc9a1bb9105588 Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:18:05 +0100 Subject: [PATCH 03/10] Update App.json with new Features --- Apps/NotepadPlusPlus/App.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Apps/NotepadPlusPlus/App.json b/Apps/NotepadPlusPlus/App.json index d14c9e1..1c19381 100644 --- a/Apps/NotepadPlusPlus/App.json +++ b/Apps/NotepadPlusPlus/App.json @@ -12,15 +12,21 @@ "AppVersion": "", "Description": "Install Notepad++", "Publisher": "", + "Developer": "", "Notes": "", - "Owner": "", + "InformationURL": "", + "PrivacyURL": "", + "CompanyPortalFeaturedApp": false, + "CategoryName": [""], + "Owner": "" "ScopeTagName": "" }, "Program": { "InstallCommand": "Deploy-Application.exe Install", "UninstallCommand": "Deploy-Application.exe Uninstall", "InstallExperience": "system", - "DeviceRestartBehavior": "suppress" + "DeviceRestartBehavior": "suppress", + "MaximumInstallationTimeInMinutes": "60", }, "RequirementRule": { "MinimumSupportedWindowsRelease": "W10_22H2", @@ -57,4 +63,4 @@ "RestartNotificationSnoozeInMinutes": "" } ] -} \ No newline at end of file +} From daa84dfb286e3df9f6d60d4226e5a3d5a0e57e5e Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:18:40 +0100 Subject: [PATCH 04/10] Update App.json with new Features --- Apps/VLC/App.json | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Apps/VLC/App.json b/Apps/VLC/App.json index c79a98d..a5c655d 100644 --- a/Apps/VLC/App.json +++ b/Apps/VLC/App.json @@ -12,15 +12,21 @@ "AppVersion": "", "Description": "Install VLC", "Publisher": "", + "Developer": "", "Notes": "", - "Owner": "", + "InformationURL": "", + "PrivacyURL": "", + "CompanyPortalFeaturedApp": false, + "CategoryName": [""], + "Owner": "" "ScopeTagName": "" }, "Program": { "InstallCommand": "Deploy-Application.exe Install", "UninstallCommand": "Deploy-Application.exe Uninstall", "InstallExperience": "system", - "DeviceRestartBehavior": "suppress" + "DeviceRestartBehavior": "suppress", + "MaximumInstallationTimeInMinutes": "60" }, "RequirementRule": { "MinimumSupportedWindowsRelease": "W10_22H2", @@ -54,4 +60,4 @@ "RestartNotificationSnoozeInMinutes": "" } ] -} \ No newline at end of file +} From 65ea545ae3d7c647b0f2f65465e354484eb330ab Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:18:52 +0100 Subject: [PATCH 05/10] Update App.json --- Apps/NotepadPlusPlus/App.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Apps/NotepadPlusPlus/App.json b/Apps/NotepadPlusPlus/App.json index 1c19381..8a918fd 100644 --- a/Apps/NotepadPlusPlus/App.json +++ b/Apps/NotepadPlusPlus/App.json @@ -26,7 +26,7 @@ "UninstallCommand": "Deploy-Application.exe Uninstall", "InstallExperience": "system", "DeviceRestartBehavior": "suppress", - "MaximumInstallationTimeInMinutes": "60", + "MaximumInstallationTimeInMinutes": "60" }, "RequirementRule": { "MinimumSupportedWindowsRelease": "W10_22H2", From 1f81e3bd17a508b6406f920dd9bc5ceb324fa1c4 Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:19:05 +0100 Subject: [PATCH 06/10] Update App.json --- Apps/7Zip/App.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Apps/7Zip/App.json b/Apps/7Zip/App.json index 71d6353..3dafda2 100644 --- a/Apps/7Zip/App.json +++ b/Apps/7Zip/App.json @@ -27,7 +27,7 @@ "InstallExperience": "system", "DeviceRestartBehavior": "suppress", "MaximumInstallationTimeInMinutes": "60", - "AllowAvailableUninstall": "true", + "AllowAvailableUninstall": "true" }, "RequirementRule": { "MinimumSupportedWindowsRelease": "W10_22H2", From c3e8164b152584cba8a8269beca6c2d23a5f78a2 Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:19:38 +0100 Subject: [PATCH 07/10] Update App.json --- Apps/NotepadPlusPlus/App.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Apps/NotepadPlusPlus/App.json b/Apps/NotepadPlusPlus/App.json index 8a918fd..bf9a52f 100644 --- a/Apps/NotepadPlusPlus/App.json +++ b/Apps/NotepadPlusPlus/App.json @@ -26,7 +26,8 @@ "UninstallCommand": "Deploy-Application.exe Uninstall", "InstallExperience": "system", "DeviceRestartBehavior": "suppress", - "MaximumInstallationTimeInMinutes": "60" + "MaximumInstallationTimeInMinutes": "60", + "AllowAvailableUninstall": "true" }, "RequirementRule": { "MinimumSupportedWindowsRelease": "W10_22H2", From f9e3368de696a2db263e11d1aaad6665c2e378cd Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:19:57 +0100 Subject: [PATCH 08/10] Update App.json --- Apps/VLC/App.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Apps/VLC/App.json b/Apps/VLC/App.json index a5c655d..5fe4bf0 100644 --- a/Apps/VLC/App.json +++ b/Apps/VLC/App.json @@ -26,7 +26,8 @@ "UninstallCommand": "Deploy-Application.exe Uninstall", "InstallExperience": "system", "DeviceRestartBehavior": "suppress", - "MaximumInstallationTimeInMinutes": "60" + "MaximumInstallationTimeInMinutes": "60", + "AllowAvailableUninstall": "true" }, "RequirementRule": { "MinimumSupportedWindowsRelease": "W10_22H2", From 175a83da75d2c035f9bd8c8ec823b91babf0839c Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:27:54 +0100 Subject: [PATCH 09/10] Update New-Win32App.ps1 --- Scripts/New-Win32App.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Scripts/New-Win32App.ps1 b/Scripts/New-Win32App.ps1 index 89cb58e..302ceab 100644 --- a/Scripts/New-Win32App.ps1 +++ b/Scripts/New-Win32App.ps1 @@ -13,13 +13,13 @@ Author: Nickolaj Andersen Contact: @NickolajA Created: 2022-04-20 - Updated: 2024-03-04 + Updated: 2024-11-01 Version history: 1.0.0 - (2020-09-26) Script created 1.0.1 - (2023-05-29) Fixed bugs mention in release notes for Intune App Factory 1.0.1 1.0.2 - (2024-03-04) Added support for ScopeTagName parameter, added Assignment handling - 1.0.3 - (2024-11-01) Added support for CompanyPortalFeaturedApp parameter, CategoryName parameter and MaximumInstallationTimeInMinutes parameter + 1.0.3 - (2024-11-01) Added support for the parameter CompanyPortalFeaturedApp, CategoryName, Developer, InformationURL, PrivacyURL and MaximumInstallationTimeInMinutes #> [CmdletBinding(SupportsShouldProcess = $true)] param ( From 6f0eb5a27d03681a90a4cd6962a4a6c3453fb692 Mon Sep 17 00:00:00 2001 From: ChristianOe <39793553+ChristianOe@users.noreply.github.com> Date: Mon, 4 Nov 2024 09:07:13 +0100 Subject: [PATCH 10/10] Update New-Win32App.ps1 Added validations for parameter MaximumInstallationTimeInMinutes --- Scripts/New-Win32App.ps1 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Scripts/New-Win32App.ps1 b/Scripts/New-Win32App.ps1 index 302ceab..2bf3af2 100644 --- a/Scripts/New-Win32App.ps1 +++ b/Scripts/New-Win32App.ps1 @@ -616,9 +616,9 @@ Process { if (-not([string]::IsNullOrEmpty($AppData.Program.UninstallCommand))) { $Win32AppArgs.Add("UninstallCommandLine", $AppData.Program.UninstallCommand) } - if (-not([string]::IsNullOrEmpty($AppData.Program.MaximumInstallationTimeInMinutes))) { - $Win32AppArgs.Add("MaximumInstallationTimeInMinutes", $AppData.Program.MaximumInstallationTimeInMinutes) - } + if ((-not([string]::IsNullOrEmpty($AppData.Program.MaximumInstallationTimeInMinutes))) -and ($AppData.Program.MaximumInstallationTimeInMinutes -match "^[\d\.]+$") -and ([int]$AppData.Program.MaximumInstallationTimeInMinutes -ge 1) -and ([int]$AppData.Program.MaximumInstallationTimeInMinutes -le 1440)){ + $Win32AppArgs.Add("MaximumInstallationTimeInMinutes", [int]$AppData.Program.MaximumInstallationTimeInMinutes) + } if (-not([string]::IsNullOrEmpty($AppData.Program.AllowAvailableUninstall))) { if ($AppData.Program.AllowAvailableUninstall -eq $true) { $Win32AppArgs.Add("AllowAvailableUninstall", $true)