param( $Action, [hashtable] $Arguments ) & { param($Parameters) . "$PSScriptRoot/../../Scripts/Restoration.ps1"; . "$PSScriptRoot/../../../Common/Scripts/Software.ps1"; $path = "$HOME/Documents/TmForever"; Start-SoftwareInstaller @Parameters ` -Installer { foreach ($feature in @("DirectPlay", "NetFx3")) { if ((Get-WindowsOptionalFeature -Online -FeatureName $feature).State -ne "Enabled") { Write-Information "Enabling the ``$feature`` featureā€¦"; choco install --source windowsFeatures -y $feature; } } Install-WingetPackage Nadeo.TrackManiaNationsForever; Remove-DesktopIcon "*TmNationsForever*"; } ` -UserBackup { param( [string] $Name, [hashtable] $Arguments ) $name = $Arguments.Name; Add-BackupArtifacts -User $name -Source $path -Path "$Name" ` -Include @( "ChallengeMusics", "MediaTracker", "MenuMusics", "Painter", "Scores", "Skins", "Tracks" ); } ` -UserConfigurator { param( [string] $Name, [hashtable] $Arguments ) $user = $Arguments.Name; Expand-BackupArtifacts -User $user -Path "$Name" -Target $path; }; } $PSBoundParameters;