installer/windows: batch file improvements (#3441)

This commit is contained in:
Bryan White 2020-01-03 14:28:04 +01:00 committed by Kaloyan Raev
parent 0cc7056a9a
commit 325790703f
7 changed files with 76 additions and 6 deletions

2
Jenkinsfile vendored
View File

@ -85,7 +85,7 @@ node('node') {
unstash "storagenode-binaries"
bat 'installer\\windows\\build.bat'
bat 'installer\\windows\\buildrelease.bat'
stash name: "storagenode-installer", includes: "release/**/storagenode*.msi"

View File

@ -4,6 +4,7 @@
/obj/
*/obj/
/packages/
*.exe
*.msi
*.wixobj

View File

@ -1,9 +1,17 @@
rem set the TAG env var from the release dir
for /f %%i in ('dir /B release') do set TAG=%%i
@echo off
rem count # of args
set argC=0
for %%x in (%*) do Set /A argC+=1
if not "%argC%"=="3" (
echo usage: %~nx0 ^<storagenode.exe input path^> ^<storagenode-updater.exe input path^> ^<msi output path^>
exit /B 1
)
rem copy the storagenode binaries to the installer project
copy release\%TAG%\storagenode_windows_amd64.exe installer\windows\storagenode.exe
copy release\%TAG%\storagenode-updater_windows_amd64.exe installer\windows\storagenode-updater.exe
copy %1 installer\windows\storagenode.exe
copy %2 installer\windows\storagenode-updater.exe
rem install NuGet packages
nuget install installer\windows\StorjTests\packages.config -o installer\windows\packages
@ -11,5 +19,9 @@ nuget install installer\windows\StorjTests\packages.config -o installer\windows\
rem build the installer
msbuild installer\windows\windows.sln /t:Build /p:Configuration=Release
rem cleanup copied binaries
del installer\windows\storagenode.exe
del installer\windows\storagenode-updater.exe
rem copy the MSI to the release dir
copy installer\windows\bin\Release\storagenode.msi release\%TAG%\storagenode_windows_amd64.msi
copy installer\windows\bin\Release\storagenode.msi %3

View File

@ -0,0 +1,6 @@
@echo off
rem build msi installer for each release directory
for /d %%d in (release\*) do (
call %~dp0build.bat %%d\storagenode_windows_amd64.exe %%d\storagenode-updater_windows_amd64.exe %%d\storagenode_windows_amd64.msi
)

View File

@ -0,0 +1,30 @@
@echo off
setlocal enabledelayedexpansion
rem NB: This script requires administrative privileges.
rem It can't prompt for escalation if the `/q` option is used.
rem count # of args
set argC=0
for %%x in (%*) do Set /A argC+=1
if not %argC% gtr 0 (
echo usage: %~nx0 ^[\q^] "<msi path (using '\' separators)>" ^[PROPERTY="value" ...^]
exit /B 1
)
set interactivity=/passive /qb
if not %1==/q set msipath=%1
if %1==/q set msipath=%2
set props=STORJ_WALLET="0x0000000000000000000000000000000000000000" STORJ_EMAIL="user@mail.example" STORJ_PUBLIC_ADDRESS="127.0.0.1:10000"
for %%x in (%*) do (
if not %%x==%msipath% if not %%x==/q set props=!props! %%x
if %%x==/q set interactivity=/quiet /qn
)
rem uninstall existing storagenode product
echo uninstalling storagenode
call %~dp0uninstall.bat %msipath%
echo installing storagenode from %msipath%
msiexec /i %msipath% %interactivity% /norestart /log %~dp1install.log %props%

View File

@ -0,0 +1,7 @@
@echo off
rem NB: only installs from *first* release directory
for /d %%d in (release\*) do (
call %~dp0install.bat %%d\storagenode_windows_amd64.msi
goto :EOF
)

View File

@ -0,0 +1,14 @@
@echo off
setlocal
rem count # of args
set argC=0
for %%x in (%*) do Set /A argC+=1
if not %argC%==1 (
echo usage: %~nx0 "<msi path (using '\' separators)>"
exit /B 1
)
set msipath=%1
msiexec /uninstall %msipath%