From 08b3e803bfe00db6ec911eb4d6846d1cd0638ef3 Mon Sep 17 00:00:00 2001 From: marcovmun Date: Thu, 28 Apr 2016 10:31:45 +0200 Subject: [PATCH] Check if you can create a symlink first --- scripts/ps/install.ps1 | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/scripts/ps/install.ps1 b/scripts/ps/install.ps1 index 12c6248022..d2249d8473 100644 --- a/scripts/ps/install.ps1 +++ b/scripts/ps/install.ps1 @@ -19,6 +19,7 @@ $libsVersion = 7 # Get paths $rootPath = Get-RootPath $libsPath = Join-Path $rootPath "lib" +$binPath = Join-Path $rootPath "bin" $zipPath = Join-Path $libsPath "openrct2-libs-vs2015.zip" $libsVersionPath = Join-Path $libsPath "libversion" @@ -35,8 +36,30 @@ if ($currentLibsVersion -ge $libsVersion) } #symlink data to bin\data -Write-Host "Symlink data to bin..." -ForegroundColor Cyan -New-Item -force -ItemType SymbolicLink -Name bin\data -Target data +try { + Write-Host "Symlink data to bin..." -ForegroundColor Cyan + New-Item -force -ItemType SymbolicLink -Name bin\data -Target data +} +catch [System.Management.Automation.ParameterBindingException] { + Write-Host "Your powershell can not create symlinks" -ForegroundColor Red + Write-Host "Copying data to bin..." -ForegroundColor Cyan + New-Item -Force -ItemType Directory $binPath > $null + Copy-Item -Force -Recurse "$rootPath\data" $binPath +} +catch { + Write-Host "Symlink not possible" -ForegroundColor Red + if($force) { + Write-Host "Copying data to bin..." -ForegroundColor Cyan + New-Item -Force -ItemType Directory $binPath > $null + Copy-Item -Force -Recurse "$rootPath\data" $binPath + } + else + { + Write-Host "You need to run powershell in administration mode to symlink the data folder" -ForegroundColor Red + Write-Host "Or run the script in force mode to copy the data folder" -ForegroundColor Red + throw + } +} # Check if user needs to download dependencies $libsPathExists = Test-Path $libsPath