From 1b87ddfabb2f5054840a6cf1f2ff8d6396af4ff4 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Sun, 24 Mar 2024 15:18:01 +0100 Subject: [PATCH] Ensure the `KnownFolders` module is imported before use --- scripts/Windows/Scripts/KnownFolders.ps1 | 3 +++ scripts/Windows/Scripts/Modules.ps1 | 17 +++++++++++++++++ scripts/Windows/Scripts/Prerequisites.ps1 | 2 +- scripts/Windows/Software/RetroArch/Manage.ps1 | 2 +- .../Windows/Software/VisualStudio/Manage.ps1 | 2 +- 5 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 scripts/Windows/Scripts/KnownFolders.ps1 create mode 100644 scripts/Windows/Scripts/Modules.ps1 diff --git a/scripts/Windows/Scripts/KnownFolders.ps1 b/scripts/Windows/Scripts/KnownFolders.ps1 new file mode 100644 index 000000000..c3e53d738 --- /dev/null +++ b/scripts/Windows/Scripts/KnownFolders.ps1 @@ -0,0 +1,3 @@ +#!/bin/pwsh +. "$PSScriptRoot/Modules.ps1" KnownFolders; +Import-Module KnownFolders; diff --git a/scripts/Windows/Scripts/Modules.ps1 b/scripts/Windows/Scripts/Modules.ps1 new file mode 100644 index 000000000..7580685f9 --- /dev/null +++ b/scripts/Windows/Scripts/Modules.ps1 @@ -0,0 +1,17 @@ +#!/bin/pwsh +param ( + [string]$ModuleName, + [switch]$WindowsPowerShell +) + +if ($WindowsPowerShell) { + if (-not (powershell -c Get-Module -ListAvailable $ModuleName)) { + Write-Host "Installing Windows PowerShell Module $ModuleName"; + powershell -c Install-Module -Force "$ModuleName"; + } +} else { + if (-not (Get-Module -ListAvailable $ModuleName)) { + Write-Host "Installing PowerShell Module $ModuleName"; + Install-Module -AcceptLicense -Force "$ModuleName"; + } +} diff --git a/scripts/Windows/Scripts/Prerequisites.ps1 b/scripts/Windows/Scripts/Prerequisites.ps1 index 93b89f091..7494dc886 100644 --- a/scripts/Windows/Scripts/Prerequisites.ps1 +++ b/scripts/Windows/Scripts/Prerequisites.ps1 @@ -9,7 +9,7 @@ if (-not $?) { powershell -c '$null = Install-PackageProvider -Name NuGet -Force'; } -foreach ($module in @("PSWindowsUpdate", "KnownFolders")) +foreach ($module in @("PSWindowsUpdate")) { if (-not (Get-Module -ListAvailable $module)) { diff --git a/scripts/Windows/Software/RetroArch/Manage.ps1 b/scripts/Windows/Software/RetroArch/Manage.ps1 index f87ab0a32..0e147eb55 100644 --- a/scripts/Windows/Software/RetroArch/Manage.ps1 +++ b/scripts/Windows/Software/RetroArch/Manage.ps1 @@ -1,8 +1,8 @@ #!/bin/pwsh +. "$PSScriptRoot/../../Scripts/KnownFolders.ps1"; . "$PSScriptRoot/../../Scripts/Context.ps1"; $null = New-Module { - Import-Module "KnownFolders"; Import-Module "$env:ChocolateyInstall/helpers/chocolateyInstaller.psm1"; $path = "C:/tools/RetroArch-Win64"; $softwareName = "RetroArch"; diff --git a/scripts/Windows/Software/VisualStudio/Manage.ps1 b/scripts/Windows/Software/VisualStudio/Manage.ps1 index 0a2aebf94..11ff11ba6 100644 --- a/scripts/Windows/Software/VisualStudio/Manage.ps1 +++ b/scripts/Windows/Software/VisualStudio/Manage.ps1 @@ -1,5 +1,5 @@ #!/bin/pwsh -Import-Module "KnownFolders"; +. "$PSScriptRoot/../../Scripts/KnownFolders.ps1"; . "$PSScriptRoot/../../Scripts/Context.ps1"; $null = New-Module {