47 lines
1.4 KiB
PowerShell
47 lines
1.4 KiB
PowerShell
<#
|
|
.SYNOPSIS
|
|
Installs ProcDump into a folder in this repo.
|
|
.DESCRIPTION
|
|
This script downloads and extracts the ProcDump.
|
|
.PARAMETER Force
|
|
Overwrite the existing installation
|
|
#>
|
|
param(
|
|
[switch]$Force
|
|
)
|
|
$ErrorActionPreference = 'Stop'
|
|
$ProgressPreference = 'SilentlyContinue' # Workaround PowerShell/PowerShell#2138
|
|
|
|
Set-StrictMode -Version 1
|
|
|
|
$repoRoot = Resolve-Path "$PSScriptRoot\..\.."
|
|
$installDir = "$repoRoot\.tools\ProcDump\"
|
|
$tempDir = "$repoRoot\obj"
|
|
|
|
if (Test-Path $installDir) {
|
|
if ($Force) {
|
|
Remove-Item -Force -Recurse $installDir
|
|
}
|
|
else {
|
|
Write-Host "ProcDump already installed to $installDir. Exiting without action. Call this script again with -Force to overwrite."
|
|
exit 0
|
|
}
|
|
}
|
|
|
|
Remove-Item -Force -Recurse $tempDir -ErrorAction Ignore | out-null
|
|
mkdir $tempDir -ea Ignore | out-null
|
|
mkdir $installDir -ea Ignore | out-null
|
|
Write-Host "Starting ProcDump download"
|
|
& $PSScriptRoot\Download.ps1 "https://download.sysinternals.com/files/Procdump.zip" "$tempDir/ProcDump.zip"
|
|
Write-Host "Done downloading ProcDump"
|
|
Expand-Archive "$tempDir/ProcDump.zip" -d "$tempDir/ProcDump/"
|
|
Write-Host "Expanded ProcDump to $tempDir"
|
|
Write-Host "Installing ProcDump to $installDir"
|
|
Move-Item "$tempDir/ProcDump/*" $installDir
|
|
Write-Host "Done installing ProcDump to $installDir"
|
|
|
|
if ($env:TF_BUILD) {
|
|
Write-Host "##vso[task.setvariable variable=ProcDumpPath]$installDir"
|
|
Write-Host "##vso[task.prependpath]$installDir"
|
|
}
|