Add ToolsRoot so Chocolatey_Bin_Root is \tools
This commit is contained in:
19
ToolsRoot/ToolsRoot.nuspec
Normal file
19
ToolsRoot/ToolsRoot.nuspec
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>toolsroot</id>
|
||||
<version>0.1.0</version>
|
||||
<title>Tools Root</title>
|
||||
<authors>Ethan J. Brown</authors>
|
||||
<owners>Ethan J. Brown</owners>
|
||||
<!--<iconUrl></iconUrl>-->
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>Set's the chocolatey_bin_root environment variable to a default value of '\tools' if not already set. This allows packages such as Ruby, Python etc. to install in \tools instead of the system root.
|
||||
</description>
|
||||
<summary>Sets the chocolatey_bin_root default value to \tools.</summary>
|
||||
<tags>path</tags>
|
||||
<!--<dependencies>
|
||||
<dependency id="" version="" />
|
||||
</dependencies>-->
|
||||
</metadata>
|
||||
</package>
|
22
ToolsRoot/tools/chocolateyInstall.ps1
Normal file
22
ToolsRoot/tools/chocolateyInstall.ps1
Normal file
@@ -0,0 +1,22 @@
|
||||
$packageName = 'ToolsRoot'
|
||||
|
||||
try
|
||||
{
|
||||
$variableName = 'Chocolatey_Bin_Root'
|
||||
if (!(Get-Item Env:$variableName -ErrorAction SilentlyContinue))
|
||||
{
|
||||
$path = '\tools'
|
||||
[Environment]::SetEnvironmentVariable($variableName, $path, 'User')
|
||||
Set-Item Env:$variableName $path
|
||||
|
||||
$binRoot = Join-Path $Env:SystemDrive $path
|
||||
Write-Host "Configured $variableName as $binRoot"
|
||||
}
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
23
ToolsRoot/tools/chocolateyUninstall.ps1
Normal file
23
ToolsRoot/tools/chocolateyUninstall.ps1
Normal file
@@ -0,0 +1,23 @@
|
||||
$package = 'ToolsRoot'
|
||||
|
||||
try
|
||||
{
|
||||
$variableName = 'Chocolatey_Bin_Root'
|
||||
$binRoot = Get-Item Env:$variableName -ErrorAction SilentlyContinue |
|
||||
Select -ExpandProperty Value -First 1
|
||||
|
||||
if ($binRoot)
|
||||
{
|
||||
[Environment]::SetEnvironmentVariable($variableName, '', 'User')
|
||||
Set-Item Env:$variableName $null
|
||||
|
||||
Write-Host "Removed $variableName [was $binRoot]"
|
||||
}
|
||||
|
||||
Write-ChocolateySuccess $package
|
||||
}
|
||||
catch
|
||||
{
|
||||
Write-ChocolateyFailure $package "$($_.Exception.Message)"
|
||||
throw
|
||||
}
|
Reference in New Issue
Block a user