Files
management-scripts/Install-Nextcloud.ps1
T

45 lines
1.7 KiB
PowerShell

## Define URL for downloading the installer
$URL = 'https://dev.emberkom.com/emberkom/management-scripts/raw/branch/master/resources/Nextcloud-3.0.1-setup.exe'
$FILE = Split-Path $URL -Leaf
## Remove previous package
If ( Test-Path $FILE ) { Remove-Item -Path $FILE -Force | Out-Null}
## Download installer
Write-Output "Downloading: ${URL}"
Try { (New-Object System.Net.WebClient).DownloadFile($URL, $FILE) }
Catch { Write-Output $_.Exception.Message }
## Stop app if it's currently running
Get-Process | Where { $_.Name -like "nextcloud" } | Stop-Process -Force
## Get the install location so we can start the app again after installation
If ( Test-Path "HKLM:SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Nextcloud" )
{ $InstallPath = '{0}\nextcloud.exe' -f $(Get-ItemProperty -Path "HKLM:SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Nextcloud" -ErrorAction SilentlyContinue).InstallLocation }
ElseIf ( Test-Path "HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Nextcloud" )
{ $InstallPath = '{0}\nextcloud.exe' -f $(Get-ItemProperty -Path "HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Nextcloud" -ErrorAction SilentlyContinue).InstallLocation }
## Install package
If ( Test-Path $FILE )
{
Write-Output "Installing: ${FILE}"
Try { Start-Process -FilePath $FILE -ArgumentList "/S" -Wait }
Catch { $_.Exception.Message }
}
Else { Write-Output "${FILE} does not exist" }
## Start the app after installation
If ( Test-Path $InstallPath )
{
Write-Output "Starting Nextcloud"
Start-Process $InstallPath
}
## Delete installer package
If ( Test-Path $FILE )
{
Write-Output "Deleting ${FILE}"
Try { Remove-Item -Path $FILE -Force }
Catch { Write-Output $_.Exception.Message }
}