& {
    . "$PSScriptRoot/../../Scripts/SoftwareManagement.ps1";
    . "$PSScriptRoot/../../../Common/Scripts/Software.ps1";
    . "$PSScriptRoot/../../../Common/Types/InstallerAction.ps1";
    $base = "$PSScriptRoot/../../../Common/Software/vscode/Main.ps1";

    Start-SoftwareInstaller @args `
        -Installer {
            Install-ChocoPackage vscode -ArgumentList "--params","/NoDesktopIcon";
            Install-ChocoPackage vscodium -ArgumentList "--params","/NoDesktopIcon /AssociateWithFiles";
            refreshenv;
        } `
        -UserConfigurator {
            & $base ([InstallerAction]::ConfigureUser) @args;
        };
} @args;