private/Install-VSCode.ps1
# Requires -RunAsAdministrator function Install-VSCode { <# .SYNOPSIS Installs Visual Studio Code for windows. .DESCRIPTION Install-VSCode installs Visual Studio Code on the local computer. .PARAMETER FilePath Specifies the path to the Visual Studio Code setup file. .EXAMPLE Install-VSCode -FilePath 'C:\Windows\Temp\VSCodeSetup-x64.exe' This command installs Visual Studio Code using setup file 'C:\Windows\Temp\VSCodeSetup-x64.exe'. .LINK https://github.com/zoodeploy/vscodeinstaller/blob/master/docs/Install-VSCode.md #> [CmdletBinding( HelpURI='https://github.com/zoodeploy/vscodeinstaller/blob/master/docs/Install-VSCode.md' )] [OutputType([System.Int32])] param ( [Parameter(Mandatory)] [System.IO.FileInfo] $FilePath ) $vscodeCmd = @( "$env:SYSTEMDRIVE\Program Files*\Microsoft VS Code*\bin\code*.cmd", "$env:LOCALAPPDATA\Programs\Microsoft VS Code*\bin\code*.cmd" ) $isInstalled = Resolve-Path $vscodeCmd -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Path -First 1 if ($isInstalled) { Write-Verbose ($localized.SoftwareIsAlreadyInstalled -f $localized.VSCode) return 1638 } else{ ## Install Write-Verbose ($localized.StartInstallation -f $localized.VSCode) try{ $startProcessParam = @{ FilePath = $FilePath ArgumentList = '/verysilent /norestart /mergetasks=!runcode' Wait = $true PassThru = $true NoNewWindow = $true ErrorAction = 'Stop' } $result = Start-Process @startProcessParam Write-Verbose ($localized.SoftwareInstallationResult -f $localized.VSCode, $result.ExitCode) } catch{ throw ($localized.SoftwareInstallationError -f $localized.VSCode) } } } |