param(
    $Action,
    [hashtable] $Arguments
)

& {
    param($Parameters)
    . "$PSScriptRoot/../../Scripts/Restoration.ps1";
    . "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
    . "$PSScriptRoot/../../../Common/Scripts/System.ps1";
    $path = "C:/tools/RetroArch-Win64";

    Start-SoftwareInstaller @Parameters `
        -Backup {
            Add-BackupArtifacts -Path "RetroArch" -Source $path `
                -Include @(
                    "config",
                    "cores",
                    "downloads",
                    "playlists",
                    "recordings",
                    "screenshots",
                    "content_history.lpl",
                    "content_*_history.lpl",
                    "retroarch.cfg"
                );
        } `
        -Installer {
            Install-ChocoPackage retroarch;
        } `
        -Configurator {
            Add-StartMenuIcon "RetroArch" "C:\tools\RetroArch-Win64\retroarch.exe";
            Expand-BackupArtifacts -Path "RetroArch" -Target $path;
        };
} $PSBoundParameters;