45 lines
1.7 KiB
PowerShell
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 }
|
|
}
|