aboutsummaryrefslogtreecommitdiff
path: root/deployment
diff options
context:
space:
mode:
authorcrankdoofus <52436708+crankdoofus@users.noreply.github.com>2019-07-06 11:41:33 +1000
committerGitHub <noreply@github.com>2019-07-06 11:41:33 +1000
commit3b9766f58c15f6300a99151f9064775deccb66a3 (patch)
tree9c1f3ab51a99e3d7acf0ac93ec0cfcb1bb43a92d /deployment
parent0e0c70f782b2c0199259a473ad3e155f14089041 (diff)
Added option for NSIS
This change will 1. download NSIS zip, 2. unzip in temp folder, 3. use nsis to build the installer
Diffstat (limited to 'deployment')
-rw-r--r--deployment/windows/build-jellyfin.ps122
1 files changed, 22 insertions, 0 deletions
diff --git a/deployment/windows/build-jellyfin.ps1 b/deployment/windows/build-jellyfin.ps1
index 2999912b3..bac907047 100644
--- a/deployment/windows/build-jellyfin.ps1
+++ b/deployment/windows/build-jellyfin.ps1
@@ -1,5 +1,6 @@
[CmdletBinding()]
param(
+ [switch]$MakeNSIS,
[switch]$InstallFFMPEG,
[switch]$InstallNSSM,
[switch]$GenerateZip,
@@ -96,6 +97,23 @@ function Install-NSSM {
Remove-Item "$tempdir/nssm.zip" -Force -ErrorAction Continue | Write-Verbose
}
+function Make-NSIS {
+ param(
+ [string]$InstallLocation
+ )
+ Write-Verbose "Downloading NSIS"
+ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
+ Invoke-WebRequest -Uri https://nchc.dl.sourceforge.net/project/nsis/NSIS%203/3.04/nsis-3.04.zip -UseBasicParsing -OutFile "$tempdir/nsis.zip" | Write-Verbose
+
+ Expand-Archive "$tempdir/nsis.zip" -DestinationPath "$tempdir/nsis/" | Write-Verbose
+ $env:InstallLocation = $InstallLocation
+ & "$tempdir/nsis/nsis-3.04/makensis.exe" ".\deployment\windows\jellyfin.nsi"
+ Copy-Item .\deployment\windows\Jellyfin.Installer.*.exe $InstallLocation\..\
+
+ Remove-Item "$tempdir/nsis/" -Recurse -Force -ErrorAction Continue | Write-Verbose
+ Remove-Item "$tempdir/nsis.zip" -Force -ErrorAction Continue | Write-Verbose
+}
+
Write-Verbose "Starting Build Process: Selected Environment is $WindowsVersion-$Architecture"
Build-JellyFin
if($InstallFFMPEG.IsPresent -or ($InstallFFMPEG -eq $true)){
@@ -106,6 +124,10 @@ if($InstallNSSM.IsPresent -or ($InstallNSSM -eq $true)){
Write-Verbose "Starting NSSM Install"
Install-NSSM $InstallLocation $Architecture
}
+if($MakeNSIS.IsPresent -or ($MakeNSIS -eq $true)){
+ Write-Verbose "Starting NSIS Package creation"
+ Make-NSIS $InstallLocation
+}
Copy-Item .\deployment\windows\install-jellyfin.ps1 $InstallLocation\install-jellyfin.ps1
Copy-Item .\deployment\windows\install.bat $InstallLocation\install.bat
if($GenerateZip.IsPresent -or ($GenerateZip -eq $true)){