From d815c2cefe045cb61460e6a9b8ebda8c23562325 Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Mon, 15 Dec 2025 11:56:07 +0200 Subject: [PATCH] Add Arm64 binaries to installer IB-6662 Signed-off-by: Raul Metsma --- .github/workflows/build.yml | 37 ++++++++++++++++++++++++++----------- README.md | 11 ++++++++++- bootstrapper.wxs | 37 ++++++++++++++++++++++++++++++------- build.ps1 | 17 +++++++++++------ 4 files changed, 77 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 564ad14..d7451df 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,40 +13,55 @@ jobs: uses: dawidd6/action-download-artifact@v11 with: workflow: build.yml - workflow_conclusion: "" - branch: master - name: msi_143_x64 + branch: arm64 + name_is_regexp: true + name: msi_143_[x64|arm64] + merge_multiple: true repo: open-eid/updater - name: Download DigiDoc4 package uses: dawidd6/action-download-artifact@v11 with: workflow: build.yml - branch: master - name: msi_143_x64 + branch: arm64 + name_is_regexp: true + name: msi_143_[x64|arm64] + merge_multiple: true repo: open-eid/DigiDoc4-Client - name: Download Web-eID packages uses: dawidd6/action-download-artifact@v11 with: workflow: cmake-windows.yml - branch: main + branch: coverity_scan + name_is_regexp: true + name: web-eid-app-windows-build-[x64|arm64]-* + merge_multiple: true repo: web-eid/web-eid-app - - name: Install WiX + - name: Cache Open-EID + id: cache-open-eid + uses: actions/cache@v4 + with: + path: | + Open-EID.zip + ~/.dotnet/tools + ~/.wix + key: ${{ runner.os }}-open-eid + - name: Install dependencies + if: steps.cache-open-eid.outputs.cache-hit != 'true' run: | dotnet tool install --global wix --version 6.0.2 wix extension -g add WixToolset.UI.wixext/6.0.2 wix extension -g add WixToolset.Util.wixext/6.0.2 wix extension -g add WixToolset.BootstrapperApplications.wixext/6.0.2 + curl -O -L https://installer.id.ee/media/win/Open-EID.zip - name: Build env: BUILD_NUBMER: ${{ github.run_number }} VER_SUFFIX: .GITHUB run: | - curl -O -L https://installer.id.ee/media/win/Open-EID.zip unzip --% Open-EID.zip -x 'Digidoc*' 'web-eid*' 'ID-Updater*' - move web-eid*-x64*/src/app/web-eid_*.x64.msi . pwsh build.ps1 - name: Archive artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: windows - path: Open-EID_*.exe \ No newline at end of file + path: Open-EID-*.exe \ No newline at end of file diff --git a/README.md b/README.md index 9d8d264..b0bb701 100644 --- a/README.md +++ b/README.md @@ -5,14 +5,18 @@ A WIX bootstrapper EXE with DigiDoc4 Client and package with various drivers and 1. Fetch the source - git clone --recursive https://github.com/open-eid/windows-installer + git clone https://github.com/open-eid/windows-installer cd windows-installer 2. Download dependencies to packages folder * [Digidoc4*x64.msi](https://github.com/open-eid/DigiDoc4-Client/releases) + * [Digidoc4*arm64.msi](https://github.com/open-eid/DigiDoc4-Client/releases) * [Digidoc_ShellExt*x64.msi](https://github.com/open-eid/DigiDoc4-Client/releases) + * [Digidoc_ShellExt*arm64.msi](https://github.com/open-eid/DigiDoc4-Client/releases) * [ID-Updater*x64.msi](https://github.com/open-eid/updater/releases) + * [ID-Updater*arm64.msi](https://github.com/open-eid/updater/releases) * [web-eid*x64.msi](https://github.com/web-eid/web-eid-app/releases) + * [web-eid*arm64.msi](https://github.com/web-eid/web-eid-app/releases) * [idplug-classic-*-Estonia_64bit.msi](https://installer.id.ee/media/win/Open-EID.zip) * [SmartCard_Client_*.msi](https://installer.id.ee/media/win/Open-EID.zip) * [CertDelApp_*.msi](https://installer.id.ee/media/win/Open-EID.zip) @@ -21,6 +25,11 @@ A WIX bootstrapper EXE with DigiDoc4 Client and package with various drivers and https://wixtoolset.org/docs/intro/#nettool + dotnet tool install --global wix --version 6.0.2 + wix extension -g add WixToolset.UI.wixext/6.0.2 + wix extension -g add WixToolset.Util.wixext/6.0.2 + wix extension -g add WixToolset.BootstrapperApplications.wixext/6.0.2 + 5. Run build.ps1 script, optional parameter -msiversion powershell -ExecutionPolicy ByPass -File build.ps1 diff --git a/bootstrapper.wxs b/bootstrapper.wxs index 2210c50..8030cd2 100644 --- a/bootstrapper.wxs +++ b/bootstrapper.wxs @@ -79,13 +79,26 @@ - + + + + + - + + + + + + + + + @@ -94,18 +107,28 @@ - + + + + + - + + + + + diff --git a/build.ps1 b/build.ps1 index 01f18f2..be8c823 100644 --- a/build.ps1 +++ b/build.ps1 @@ -4,10 +4,14 @@ param( [string]$build_number = $(if ($null -eq $env:BUILD_NUMBER) {"0"} else {$env:BUILD_NUMBER}), [string]$msiversion = (Get-Date -Format "%y.%M.%d.$build_number"), [string]$filename = "Open-EID-$msiversion$env:VER_SUFFIX", - [string]$updater = (Get-ChildItem "ID-Updater*x64.msi"), - [string]$qdigidoc4 = (Get-ChildItem "Digidoc4*x64.msi"), - [string]$shellext = (Get-ChildItem "Digidoc_ShellExt*x64.msi"), - [string]$webeid = (Get-ChildItem "web-eid*x64.msi"), + [string]$updater_x64 = (Get-ChildItem "ID-Updater*x64.msi"), + [string]$updater_arm64 = (Get-ChildItem "ID-Updater*arm64.msi"), + [string]$qdigidoc4_x64 = (Get-ChildItem "Digidoc4*x64.msi"), + [string]$qdigidoc4_arm64 = (Get-ChildItem "Digidoc4*arm64.msi"), + [string]$shellext_x64 = (Get-ChildItem "Digidoc_ShellExt*x64.msi"), + [string]$shellext_arm64 = (Get-ChildItem "Digidoc_ShellExt*arm64.msi"), + [string]$webeid_x64 = (Get-ChildItem "web-eid*x64.msi"), + [string]$webeid_arm64 = (Get-ChildItem "web-eid*arm64.msi"), [string]$idemia = (Get-ChildItem "idplug-classic-*-Estonia_64bit.msi"), [string]$thales_x64 = (Get-ChildItem "SmartCard_Client_64*.msi"), [string]$thales_arm64 = (Get-ChildItem "SmartCard_Client_arm64*.msi"), @@ -26,9 +30,10 @@ if($sign) { Sign("$path\RemoveAWPBlock.mst") } & wix build -nologo -ext WixToolset.BootstrapperApplications.wixext -ext WixToolset.Util.wixext "$path\bootstrapper.wxs" ` - -d "MSI_VERSION=$msiversion" -d "path=$path" -d "updater=$updater" -d "idemia=$idemia" ` + -out "$filename.exe" -d "MSI_VERSION=$msiversion" -d "path=$path" -d "idemia=$idemia" ` -d "thales_x64=$thales_x64" -d "thales_arm64=$thales_arm64" -d "certdel_x64=$certdel_x64" -d "certdel_arm64=$certdel_arm64" ` - -d "webeid=$webeid" -d "qdigidoc4=$qdigidoc4" -d "shellext=$shellext" -out "$filename.exe" + -d "webeid_x64=$webeid_x64" -d "qdigidoc4_x64=$qdigidoc4_x64" -d "shellext_x64=$shellext_x64" -d "updater_x64=$updater_x64" ` + -d "webeid_arm64=$webeid_arm64" -d "qdigidoc4_arm64=$qdigidoc4_arm64" -d "shellext_arm64=$shellext_arm64" -d "updater_arm64=$updater_arm64" if($sign) { & wix burn detach -nologo "$filename.exe" -engine "$filename.engine.exe" Sign("$filename.engine.exe")