1
0
mirror of https://github.com/r4sas/chocolatey-packages synced 2025-01-21 04:10:05 +00:00
chocolatey-packages/yggdrasil/tools/chocolateyinstall.ps1
R4SAS 0b577d8ce5
add yggdrasil package
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2019-11-22 04:08:30 +03:00

78 lines
3.2 KiB
PowerShell

$ErrorActionPreference = 'Stop';
$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
$appDir = "$([Environment]::GetFolderPath('ProgramFiles'))\Yggdrasil"
$startMenuDir = "$([Environment]::GetFolderPath('CommonStartMenu'))\Programs\Yggdrasil"
$url = 'https://2203-115685026-gh.circle-artifacts.com/0/yggdrasil-0.3.11-windows-i386.exe'
$url64 = 'https://2203-115685026-gh.circle-artifacts.com/0/yggdrasil-0.3.11-windows-amd64.exe'
$ctlUrl = 'https://2203-115685026-gh.circle-artifacts.com/0/yggdrasil-0.3.11-yggdrasilctl-windows-i386.exe'
$ctlUrl64 = 'https://2203-115685026-gh.circle-artifacts.com/0/yggdrasil-0.3.11-yggdrasilctl-windows-amd64.exe'
$packageArgs = @{
packageName = 'yggdrasil'
url = $url
url64bit = $url64
fileFullPath = "$appDir\yggdrasil.exe"
checksum = '496239325ED34ADAEDE10A71D678BE6B4FA13273BAEE6A924D20EE5EC58B8C28'
checksumType = 'sha256'
checksum64 = 'BC89CDBA3E5FF4D455805990BEEC3C0D29A88751B1F1E01687A10F71F320E522'
checksumType64 = 'sha256'
}
$ctlPackageArgs = @{
packageName = 'yggdrasilctl'
url = $ctlurl
url64bit = $ctlurl64
fileFullPath = "$appDir\yggdrasilctl.exe"
checksum = 'F21B510D95ED7463BAF493F3530A3C7B5A1B72DB0110A160433A8ECB4C7584B3'
checksumType = 'sha256'
checksum64 = 'FCD3859F8C8546D1A46EBB6EB1227173C1A4D3AB168A3821BEA6E91356A662B3'
checksumType64 = 'sha256'
}
# Installing executables
if (-not (Test-Path -Path $appDir)) {
New-Item -Path $appDir -ItemType Directory
}
Get-ChocolateyWebFile @packageArgs
Get-ChocolateyWebFile @ctlPackageArgs
Install-BinFile "yggdrasil" "$appDir\yggdrasil.exe"
Install-BinFile "yggdrasilctl" "$appDir\yggdrasilctl.exe"
# Generating new configuration, or updating existent
if (Test-Path "$appDir\yggdrasil.conf" -PathType Leaf) {
$date = Get-Date -format "yyyyMMdd"
Write-Host "Backing up configuration file to yggdrasil.conf.$date"
Copy-Item $appDir\yggdrasil.conf -Destination $appDir\yggdrasil.conf.$date
Write-Host "Normalizing and updating yggdrasil.conf"
$args = @(
"-useconffile","$appDir\yggdrasil.conf.$date",
"-normaliseconf"
)
& "$appDir\yggdrasil.exe" $args > "$appDir\yggdrasil.conf"
} else {
Write-Host "Generating initial configuration file yggdrasil.conf"
Write-Host "Please familiarise yourself with this file before starting Yggdrasil"
$args = @(
"-genconf"
)
& "$appDir\yggdrasil.exe" $args > "$appDir\yggdrasil.conf"
}
# Creating shortcuts in Start Menu
if (-not (Test-Path -Path $startMenuDir)) {
New-Item -Path $startMenuDir -ItemType Directory
}
Install-ChocolateyShortcut -shortcutFilePath "$startMenuDir\Install service.lnk" `
-targetPath "$toolsDir\service-install.bat" -workDirectory "$appDir" -description "Install yggdrasil service" -RunAsAdmin
Install-ChocolateyShortcut -shortcutFilePath "$startMenuDir\Restart service.lnk" `
-targetPath "$toolsDir\service-restart.bat" -workDirectory "$appDir" -description "Restart yggdrasil service" -RunAsAdmin
Install-ChocolateyShortcut -shortcutFilePath "$startMenuDir\Uninstall service.lnk" `
-targetPath "$toolsDir\service-uninstall.bat" -workDirectory "$appDir" -description "Uninstall yggdrasil service" -RunAsAdmin