diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml
index f8e9e15f..3abc992a 100644
--- a/.github/workflows/build_push.yml
+++ b/.github/workflows/build_push.yml
@@ -103,7 +103,7 @@ jobs:
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.DEPLOY_PREVIEW_TOKEN }}
- artifacts: "master/server/build/*.jar,master/server/build/*.zip,master/server/build/*.tar.gz"
+ artifacts: "master/server/build/*.jar,master/server/build/*.msi,master/server/build/*.zip,master/server/build/*.tar.gz"
owner: "Suwayomi"
repo: "Tachidesk-Server-preview"
tag: ${{ steps.GenTagName.outputs.value }}
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 6bdc74e5..e7c0562f 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -72,7 +72,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
- file: "master/server/build/*.jar;master/server/build/*.zip;master/server/build/*.tar.gz"
+ file: "master/server/build/*.jar;master/server/build/*.msi;master/server/build/*.zip;master/server/build/*.tar.gz"
tags: true
draft: true
verbose: true
diff --git a/scripts/Tachidesk-Server-x64.wxs b/scripts/Tachidesk-Server-x64.wxs
new file mode 100755
index 00000000..e3dd34df
--- /dev/null
+++ b/scripts/Tachidesk-Server-x64.wxs
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+ VersionNT64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/Tachidesk-Server-x86.wxs b/scripts/Tachidesk-Server-x86.wxs
new file mode 100755
index 00000000..a0aa4206
--- /dev/null
+++ b/scripts/Tachidesk-Server-x86.wxs
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/windows-bundler.sh b/scripts/windows-bundler.sh
index f344d92b..65939fa7 100755
--- a/scripts/windows-bundler.sh
+++ b/scripts/windows-bundler.sh
@@ -7,8 +7,8 @@
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
electron_version="v14.0.0"
-
-if [ $1 = "win32" ]; then
+arch=$1
+if [ $arch = "win32" ]; then
jre="OpenJDK8U-jre_x86-32_windows_hotspot_8u292b10.zip"
jre_release="jdk8u292-b10"
jre_url="https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/$jre_release/$jre"
@@ -29,7 +29,7 @@ echo "creating windows bundle"
jar=$(ls ../server/build/*.jar | tail -n1)
jar_name=$(echo $jar | cut -d'/' -f4)
release_name=$(echo $jar_name | sed 's/.jar//')-$arch
-
+release_ver=$(tmp=${jar%-*} && echo ${tmp##*-} | tr -d v)
# make release dir
mkdir $release_name
@@ -62,6 +62,7 @@ if [ $CI = true ]; then
sudo add-apt-repository ppa:cybermax-dexter/sdl2-backport
sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu $(lsb_release -cs) main"
sudo apt install --install-recommends winehq-stable
+ sudo apt install -y wixl
fi
# this script assumes that wine is installed here on out
@@ -76,11 +77,26 @@ cp "resources/Tachidesk Electron Launcher.bat" $release_name
zip_name=$release_name.zip
zip -9 -r $zip_name $release_name
+# create msi package
+msi_name=$release_name.msi
+
+find $release_name/jre | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref jre --component-group jre > jre.wxs
+find $release_name/electron | wixl-heat --var var.SourceDir -p $release_name/ --directory-ref electron --component-group electron > electron.wxs
+if [ $arch = "win32" ]; then
+ wixl -D ProductVersion=$release_ver -D SourceDir=$release_name --arch x86 Tachidesk-Server-x86.wxs jre.wxs electron.wxs -o $msi_name
+else
+ wixl -D ProductVersion=$release_ver -D SourceDir=$release_name --arch x64 Tachidesk-Server-x64.wxs jre.wxs electron.wxs -o $msi_name
+fi
+
rm -rf $release_name
# clean up from possible previous runs
if [ -f ../server/build/$zip_name ]; then
rm ../server/build/$zip_name
fi
+if [ -f ../server/build/$msi_name ]; then
+ rm ../server/build/$msi_name
+fi
mv $zip_name ../server/build/
+mv $msi_name ../server/build/