#Install.ps1
$vsInstaller = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
$vsPath = Get-ChildItem "C:\Program Files\Microsoft Visual Studio" -Directory -Recurse -Depth 1 |
Where-Object { $_.Name -in @("Community", "Professional", "Enterprise") } |
Sort-Object FullName -Descending |
Select-Object -First 1
if (-not $vsPath) {
Write-Error "No Visual Studio installation found"
exit 1
}
Write-Output "Found VS at: $($vsPath.FullName)"
$process = Start-Process -FilePath $vsInstaller `
-ArgumentList "modify --installPath `"$($vsPath.FullName)`" --add Microsoft.VisualStudio.Component.SQL.SSDT --quiet --norestart" `
-Wait `
-PassThru
exit $process.ExitCode
#UnInstall.ps1
$vsInstaller = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
$vsPath = Get-ChildItem "C:\Program Files\Microsoft Visual Studio" -Directory -Recurse -Depth 1 |
Where-Object { $_.Name -in @("Community", "Professional", "Enterprise") } |
Sort-Object FullName -Descending |
Select-Object -First 1
if (-not $vsPath) {
Write-Error "No Visual Studio installation found"
exit 1
}
Write-Output "Found VS at: $($vsPath.FullName)"
$process = Start-Process -FilePath $vsInstaller `
-ArgumentList "modify --installPath `"$($vsPath.FullName)`" --remove Microsoft.VisualStudio.Component.SQL.SSDT --quiet --norestart" `
-Wait `
-PassThru
exit $process.ExitCode
#Detection
$basePath = "C:\Program Files\Microsoft Visual Studio"
$file = Get-ChildItem $basePath -Recurse -Depth 5 -Filter "Microsoft.Data.Tools.Schema.Sql.dll" -ErrorAction SilentlyContinue
if ($file) {
Write-Output "Installed"
exit 0
} else {
exit 1
}