From 4a2d770066a5decccf44aa3e3b47f8c5207f5fe3 Mon Sep 17 00:00:00 2001 From: Leaf Garland Date: Tue, 19 May 2020 16:56:50 +1200 Subject: [PATCH 1/3] Add Wix/msi installer for Windows --- tools/msi/JanetDialog.png | Bin 0 -> 24862 bytes tools/msi/JanetTopBanner.png | Bin 0 -> 2030 bytes tools/msi/LICENSE.rtf | Bin 0 -> 1272 bytes tools/msi/janet.wxs | 200 +++++++++++++++++++++++++++++++++++ 4 files changed, 200 insertions(+) create mode 100644 tools/msi/JanetDialog.png create mode 100644 tools/msi/JanetTopBanner.png create mode 100644 tools/msi/LICENSE.rtf create mode 100644 tools/msi/janet.wxs diff --git a/tools/msi/JanetDialog.png b/tools/msi/JanetDialog.png new file mode 100644 index 0000000000000000000000000000000000000000..6c789d7718571cfbe44671307b6052a6d1d7674c GIT binary patch literal 24862 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 literal 0 HcmV?d00001 diff --git a/tools/msi/JanetTopBanner.png b/tools/msi/JanetTopBanner.png new file mode 100644 index 0000000000000000000000000000000000000000..edd5f9e97cef1d125bf111853d6139aa113f84ca GIT binary patch literal 2030 zcmbW2eN<9s9LK?#Z5XpHI~q#w<$IP>Q7MhW#MG=bNli1$B=qXh440@|dXAZTDoV@MXEvsH#~31$XJ%rKp@+on#<7u;+op#8HycFynI^PJ~-?(g~hzQ6B%?zN*w zJm4?{3<80`J#pCM5C{}p8M}P0xALUFhrWV9RyTWMG5+6{fHE&XzewYsCR6p&VWGRx zE|(7R^1LHW9gm|G-j^nB2AApH*WJDrhz>HuLTzuD@7caJEp78rlPmyWrH3e6Ei<<= z-i~iAy+JLZQupIZ1m8`{NA#CQQ+jD*s`_t7i)xAk7Cd-YllJA<&-jy+4jbh1iH*kg zllZBp3Ub-Ib>}^hF=!`Y6Zb9z;lf2+06+#f(7Zy$Vnm3QjN?3HyiZLF^1_J1V%qxKwh#!QF z-?1JM`lCWnze+fUq2wC*34T?@A6b}`yFQ1{$Sa~LEL5PuIWh%vOF=uS%*V*qvH9dv zKLRoZ8!QW$8=SDK@f$BC8U2Z%0%PzAV=7B{Xx*Zi$#}Q(`8s*#gH6gh(MX{}E=-E7WbSg-pUxQ}J3j3jAQCWf)?>v7g z&ve4|GoVlJe+1a$P8JdK@ax?zX39j?)PQWud;9}Kv#{FQSi@|E4k6v~W5nu7WV7WK z>2#w0i5+jacwAf;M7tWP1D?$RHmpW3`={2w{zAfpe+(0hR3zGAYuQ7~;^xndoUw=* zU#;N;6NI~BrUl78w*sNT7h2D^A!4*uI37aNvm=W#q;H%IwE1e8AWOB=EX>NrzW{q= zNOKO8MIkk`2jq0pnuj$)^pZJl>zfKPfC%kABxSZ*kDFiqPFG8B6^0rd95o#~2LcmN zE#1_4-`-=6M0S-S2V?RvjOyH;J9pNe+cyAFL($s^QUonNH?D4l>3g+aW4036rKbj0 z9&(E!?#_H~?Fe=`4|QHp=fR+V?@J|kwa!FOc4Ovu%gpYaX{^uSPr1I>)d+~i?hOM? z&1=-hqTPhE0~=qiiWm58eB#2LD=#f+SCu_lqak1rlqvn8@rA@R)}Otmx1S4*3Npn6As$HOB9Bp_cIxvz=1|#U;#?ns#-cm~;lA<1gRE9RB0A(Um)Voz-tU z62^$ziiL!|!;e!cUGB(RkeAH%tE-qc0(Ax@m7D}&Ek$JVm)2{=_Jh zqEokh4w4;yD=4_u3kUF8yMxxZS=YM<7x`+Yl~$eY`;sCXN@yA61;W)D{xhqK+5`^# zvEX>;in>kdq%{&GYAF!&A@@DHhvu-P1l0EpPc3z2*j=%&;u`+NUP@OfK+>`ogG7_Wi=G?uI4{H~xrdqa;En;bsd*}&6 zfz(S5NX(PPQFs;CPFV0Vf@52pq!AnweA(&TWOw`ZaK7Edu@EP+^zwE)1Y_KXe6aZ6 zmfl@8-M}42DT_jTCg-HR+mxr9bkvme=Y(4*vcFU6592-ExFw>GWVcyYQXN#wb2hH~ zMFhutUso-McYl+59^EE<-9PF_Y5XQ(gAFw-k+D=LRcN}qs^NyW*!tLJBid}raY9?Y zy;s~tH?56~S`NgU$6#CSgfpH@6%m?#y|# zYd&Q?u*IPYHq;1=!WrCtvCT&5blul?ONp7`8VAEA2mbu?h$ z3t@oe%I;=G+QVWbZiDi#^L)`T(vW%)XPv8W7j2atYDr@kW=TW0bWG60iO7YM`;pqh zt0|-kX7a#SHzF0S6(_HD#NYtN>DiJmG6l{Rr=yZJ`Z4KyI0eMU_mw}R%<-yp(Xh!) ziEEqbJ6L9|O-q1XljaV>pwR@HB%R1?)-q~f|6>5c%T;bncbrEjG}3qFKMwJ9KZ0#I H5SI2gG`ZzE literal 0 HcmV?d00001 diff --git a/tools/msi/LICENSE.rtf b/tools/msi/LICENSE.rtf new file mode 100644 index 0000000000000000000000000000000000000000..e45ced57a76db43907f0eddf8884859b02f2e1a8 GIT binary patch literal 1272 zcmZ8hUvJws5Z`lve1}7x+Cj)?Q8-`d#ju~nH#aX;s|V+H zJ^qNRc2IrQ)}1g`x)_L2qW}8(dU^3u{a)?mAdPU^09SPs}qy#Nfw6BGxM(EjsWz zBRJ?rwfO8jXHigw}xwLl=o}DoVQluwb!o*&+h^W5a1tK+b`!Hz}i7 zV_A}J7c9GnJDkh%5>mEiC4!bYlt?&1F^Y3bSW}*?5SiSul$DPWELoX(%q4;n*brW_ zWSbHWn=Rku1x5M=!e%U6a%7=vnw8hciZ!6$@c_k&q-mfcTU5`3z9io~a(2HeVU?!~ zip4vM%E( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(var.Description) + $(var.WebPage) + $(var.Manufacturer) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ALLUSERS=1 + + + + + + + + NOT ALLUSERS=1 + + + + + + + + + + + + + + + + + + WixAppFolder = "WixPerMachineFolder" + + + From 737fee94d039963cbde7afa1c3da38f21af7474a Mon Sep 17 00:00:00 2001 From: Leaf Garland Date: Tue, 19 May 2020 16:57:26 +1200 Subject: [PATCH 2/3] Change build_win.bat to build Wix installer --- build_win.bat | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/build_win.bat b/build_win.bat index f56dbcf1..0e002019 100644 --- a/build_win.bat +++ b/build_win.bat @@ -121,18 +121,29 @@ copy tools\jpm.bat dist\jpm.bat @rem Create installer janet.exe -e "(->> janet/version (peg/match ''(* :d+ `.` :d+ `.` :d+)) first print)" > build\version.txt -janet.exe -e "(print (= (os/arch) :x64))" > build\64bit.txt +janet.exe -e "(print (os/arch))" > build\arch.txt set /p JANET_VERSION= < build\version.txt -set /p SIXTYFOUR= < build\64bit.txt +set /p BUILDARCH= < build\arch.txt echo "JANET_VERSION is %JANET_VERSION%" -"C:\Program Files (x86)\NSIS\makensis.exe" /DVERSION=%JANET_VERSION% /DSIXTYFOUR=%SIXTYFOUR% janet-installer.nsi +if defined APPVEYOR_REPO_TAG_NAME ( + set RELEASE_VERSION=%APPVEYOR_REPO_TAG_NAME% +) else ( + set RELEASE_VERSION=%JANET_VERSION% +) +if defined CI ( + set WIXBIN="c:\Program Files (x86)\WiX Toolset v3.11\bin\" +) else ( + set WIXBIN= +) +%WIXBIN%candle.exe tools\msi\janet.wxs -arch %BUILDARCH% -out build\ +%WIXBIN%light.exe "-sice:ICE38" -b tools\msi -ext WixUIExtension build\janet.wixobj -out janet-%RELEASE_VERSION%-windows-%BUILDARCH%-installer.msi exit /b 0 @rem Run the installer. (Installs to the local user with default settings) :INSTALL -@echo Running Installer... -FOR %%a in (janet-*-windows-*-installer.exe) DO ( - %%a /S /CurrentUser +FOR %%a in (janet-*-windows-*-installer.msi) DO ( + @echo Running Installer %%a... + %%a /QN ) exit /b 0 From 338ef8f2e48d53b29f0a745d463a244a992ce356 Mon Sep 17 00:00:00 2001 From: Leaf Garland Date: Tue, 19 May 2020 17:00:42 +1200 Subject: [PATCH 3/3] Update Appveyor to build Wix installer --- appveyor.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 6e67a017..60986965 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -19,10 +19,6 @@ init: install: - set JANET_BUILD=%appveyor_repo_commit:~0,7% - - choco install nsis -y -pre --version 3.05 - # Replace makensis.exe and files with special long string build. This should - # prevent issues when setting PATH during installation. - - 7z e "tools\nsis-3.05-strlen_8192.zip" -o"C:\Program Files (x86)\NSIS\" -y - build_win all - refreshenv # We need to reload vcvars after refreshing @@ -48,7 +44,7 @@ artifacts: - name: "janet-$(janet_outname)-windows-%platform%" path: dist type: Zip - - path: "janet-$(janet_outname)-windows-%platform%-installer.exe" + - path: "janet-$(janet_outname)-windows-%platform%-installer.msi" type: File deploy: