Skip to content

Commit 64045b8

Browse files
committed
Add Arm64 binaries to installer
IB-6662 Signed-off-by: Raul Metsma <[email protected]>
1 parent 9d1187a commit 64045b8

File tree

4 files changed

+78
-25
lines changed

4 files changed

+78
-25
lines changed

.github/workflows/build.yml

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,40 +13,55 @@ jobs:
1313
uses: dawidd6/action-download-artifact@v11
1414
with:
1515
workflow: build.yml
16-
workflow_conclusion: ""
17-
branch: master
18-
name: msi_143_x64
16+
branch: arm64
17+
name_is_regexp: true
18+
name: msi_143_[x64|arm64]
19+
merge_multiple: true
1920
repo: open-eid/updater
2021
- name: Download DigiDoc4 package
2122
uses: dawidd6/action-download-artifact@v11
2223
with:
2324
workflow: build.yml
24-
branch: master
25-
name: msi_143_x64
25+
branch: arm64
26+
name_is_regexp: true
27+
name: msi_143_[x64|arm64]
28+
merge_multiple: true
2629
repo: open-eid/DigiDoc4-Client
2730
- name: Download Web-eID packages
2831
uses: dawidd6/action-download-artifact@v11
2932
with:
3033
workflow: cmake-windows.yml
31-
branch: main
34+
branch: coverity_scan
35+
name_is_regexp: true
36+
name: web-eid-app-windows-build-[x64|arm64]-*
37+
merge_multiple: true
3238
repo: web-eid/web-eid-app
33-
- name: Install WiX
39+
- name: Cache Open-EID
40+
id: cache-open-eid
41+
uses: actions/cache@v4
42+
with:
43+
path: |
44+
Open-EID.zip
45+
~/.dotnet/tools
46+
~/.wix
47+
key: ${{ runner.os }}-open-eid
48+
- name: Install dependencies
49+
if: steps.cache-open-eid.outputs.cache-hit != 'true'
3450
run: |
3551
dotnet tool install --global wix --version 6.0.2
3652
wix extension -g add WixToolset.UI.wixext/6.0.2
3753
wix extension -g add WixToolset.Util.wixext/6.0.2
3854
wix extension -g add WixToolset.BootstrapperApplications.wixext/6.0.2
55+
curl -O -L https://installer.id.ee/media/win/Open-EID.zip
3956
- name: Build
4057
env:
4158
BUILD_NUBMER: ${{ github.run_number }}
4259
VER_SUFFIX: .GITHUB
4360
run: |
44-
curl -O -L https://installer.id.ee/media/win/Open-EID.zip
4561
unzip --% Open-EID.zip -x 'Digidoc*' 'web-eid*' 'ID-Updater*'
46-
move web-eid*-x64*/src/app/web-eid_*.x64.msi .
4762
pwsh build.ps1
4863
- name: Archive artifacts
49-
uses: actions/upload-artifact@v4
64+
uses: actions/upload-artifact@v5
5065
with:
5166
name: windows
52-
path: Open-EID_*.exe
67+
path: Open-EID-*.exe

README.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,18 @@ A WIX bootstrapper EXE with DigiDoc4 Client and package with various drivers and
55

66
1. Fetch the source
77

8-
git clone --recursive https://github.com/open-eid/windows-installer
8+
git clone https://github.com/open-eid/windows-installer
99
cd windows-installer
1010

1111
2. Download dependencies to packages folder
1212
* [Digidoc4*x64.msi](https://github.com/open-eid/DigiDoc4-Client/releases)
13+
* [Digidoc4*arm64.msi](https://github.com/open-eid/DigiDoc4-Client/releases)
1314
* [Digidoc_ShellExt*x64.msi](https://github.com/open-eid/DigiDoc4-Client/releases)
15+
* [Digidoc_ShellExt*arm64.msi](https://github.com/open-eid/DigiDoc4-Client/releases)
1416
* [ID-Updater*x64.msi](https://github.com/open-eid/updater/releases)
17+
* [ID-Updater*arm64.msi](https://github.com/open-eid/updater/releases)
1518
* [web-eid*x64.msi](https://github.com/web-eid/web-eid-app/releases)
19+
* [web-eid*arm64.msi](https://github.com/web-eid/web-eid-app/releases)
1620
* [idplug-classic-*-Estonia_64bit.msi](https://installer.id.ee/media/win/Open-EID.zip)
1721
* [SmartCard_Client_*.msi](https://installer.id.ee/media/win/Open-EID.zip)
1822
* [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
2125

2226
https://wixtoolset.org/docs/intro/#nettool
2327

28+
dotnet tool install --global wix --version 6.0.2
29+
wix extension -g add WixToolset.UI.wixext/6.0.2
30+
wix extension -g add WixToolset.Util.wixext/6.0.2
31+
wix extension -g add WixToolset.BootstrapperApplications.wixext/6.0.2
32+
2433
5. Run build.ps1 script, optional parameter -msiversion
2534

2635
powershell -ExecutionPolicy ByPass -File build.ps1

bootstrapper.wxs

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,26 @@
7777
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
7878
</MsiPackage>
7979

80-
<MsiPackage Id="Updater" ForcePerMachine="yes" SourceFile="$(var.updater)" Compressed="yes">
80+
<MsiPackage Id="Updater.X64" ForcePerMachine="yes" SourceFile="$(var.updater_x64)" InstallCondition="NOT ARCH=&quot;ARM64&quot;" Compressed="yes">
81+
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
82+
<MsiProperty Name="AUTO_UPDATE" Value="[AutoUpdate]" />
83+
</MsiPackage>
84+
<MsiPackage Id="Updater.ARM64" ForcePerMachine="yes" SourceFile="$(var.updater_arm64)" InstallCondition="ARCH=&quot;ARM64&quot;" Compressed="yes">
8185
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
8286
<MsiProperty Name="AUTO_UPDATE" Value="[AutoUpdate]" />
8387
</MsiPackage>
8488

85-
<MsiPackage Id="WebEID" InstallCondition="ChromeSupport = 1 OR EdgeSupport = 1 OR FirefoxSupport = 1" ForcePerMachine="yes"
86-
SourceFile="$(var.webeid)" Compressed="yes">
89+
<MsiPackage Id="WebEID.X64" InstallCondition="ChromeSupport = 1 OR EdgeSupport = 1 OR FirefoxSupport = 1 AND NOT ARCH=&quot;ARM64&quot;"
90+
ForcePerMachine="yes" SourceFile="$(var.webeid_x64)" Compressed="yes">
91+
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
92+
<MsiProperty Name="CHROMEINSTALL" Value="[ChromeSupport]" />
93+
<MsiProperty Name="CHROMEPOLICY" Value="[ForceChromeExtensionActivation2]" />
94+
<MsiProperty Name="EDGEINSTALL" Value="[EdgeSupport]" />
95+
<MsiProperty Name="EDGEPOLICY" Value="[ForceEdgeExtensionActivation2]" />
96+
<MsiProperty Name="FIREFOXINSTALL" Value="[FirefoxSupport]" />
97+
</MsiPackage>
98+
<MsiPackage Id="WebEID.ARM64" InstallCondition="ChromeSupport = 1 OR EdgeSupport = 1 OR FirefoxSupport = 1 AND ARCH=&quot;ARM64&quot;"
99+
ForcePerMachine="yes" SourceFile="$(var.webeid_arm64)" Compressed="yes">
87100
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
88101
<MsiProperty Name="CHROMEINSTALL" Value="[ChromeSupport]" />
89102
<MsiProperty Name="CHROMEPOLICY" Value="[ForceChromeExtensionActivation2]" />
@@ -92,14 +105,25 @@
92105
<MsiProperty Name="FIREFOXINSTALL" Value="[FirefoxSupport]" />
93106
</MsiPackage>
94107

95-
<MsiPackage Id="DigiDoc4" InstallCondition="Qdigidoc4Install = 1" ForcePerMachine="yes"
96-
SourceFile="$(var.qdigidoc4)" Compressed="yes">
108+
<MsiPackage Id="DigiDoc4.X64" InstallCondition="Qdigidoc4Install = 1 AND NOT ARCH=&quot;ARM64&quot;"
109+
ForcePerMachine="yes" SourceFile="$(var.qdigidoc4_x64)" Compressed="yes">
110+
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
111+
<MsiProperty Name="DESKTOP_SHORTCUT" Value="[IconsDesktop]" />
112+
</MsiPackage>
113+
<MsiPackage Id="DigiDoc4.ARM64" InstallCondition="Qdigidoc4Install = 1 AND ARCH=&quot;ARM64&quot;"
114+
ForcePerMachine="yes" SourceFile="$(var.qdigidoc4_arm64)" Compressed="yes">
97115
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
98116
<MsiProperty Name="DESKTOP_SHORTCUT" Value="[IconsDesktop]" />
99117
</MsiPackage>
100118

101-
<MsiPackage Id="shellext" InstallCondition="Qdigidoc4Install = 1" ForcePerMachine="yes"
102-
SourceFile="$(var.shellext)" Compressed="yes">
119+
<MsiPackage Id="shellext.X64" InstallCondition="Qdigidoc4Install = 1 AND NOT ARCH=&quot;ARM64&quot;"
120+
ForcePerMachine="yes" SourceFile="$(var.shellext_x64)" Compressed="yes">
121+
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
122+
<MsiProperty Name="MSIRMSHUTDOWN" Value="2" />
123+
<Provides Key="{EA515788-340A-428E-8DE6-F79C84CBBFCA}"/>
124+
</MsiPackage>
125+
<MsiPackage Id="shellext.ARM64" InstallCondition="Qdigidoc4Install = 1 AND ARCH=&quot;ARM64&quot;"
126+
ForcePerMachine="yes" SourceFile="$(var.shellext_arm64)" Compressed="yes">
103127
<MsiProperty Name="APPLICATIONFOLDER" Value="[InstallFolder]" />
104128
<MsiProperty Name="MSIRMSHUTDOWN" Value="2" />
105129
<Provides Key="{EA515788-340A-428E-8DE6-F79C84CBBFCA}"/>

build.ps1

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,14 @@ param(
44
[string]$build_number = $(if ($null -eq $env:BUILD_NUMBER) {"0"} else {$env:BUILD_NUMBER}),
55
[string]$msiversion = (Get-Date -Format "%y.%M.%d.$build_number"),
66
[string]$filename = "Open-EID-$msiversion$env:VER_SUFFIX",
7-
[string]$updater = (Get-ChildItem "ID-Updater*x64.msi"),
8-
[string]$qdigidoc4 = (Get-ChildItem "Digidoc4*x64.msi"),
9-
[string]$shellext = (Get-ChildItem "Digidoc_ShellExt*x64.msi"),
10-
[string]$webeid = (Get-ChildItem "web-eid*x64.msi"),
7+
[string]$updater_x64 = (Get-ChildItem "ID-Updater*x64.msi"),
8+
[string]$updater_arm64 = (Get-ChildItem "ID-Updater*arm64.msi"),
9+
[string]$qdigidoc4_x64 = (Get-ChildItem "Digidoc4*x64.msi"),
10+
[string]$qdigidoc4_arm64 = (Get-ChildItem "Digidoc4*arm64.msi"),
11+
[string]$shellext_x64 = (Get-ChildItem "Digidoc_ShellExt*x64.msi"),
12+
[string]$shellext_arm64 = (Get-ChildItem "Digidoc_ShellExt*arm64.msi"),
13+
[string]$webeid_x64 = (Get-ChildItem "web-eid*x64.msi"),
14+
[string]$webeid_arm64 = (Get-ChildItem "web-eid*arm64.msi"),
1115
[string]$idemia = (Get-ChildItem "idplug-classic-*-Estonia_64bit.msi"),
1216
[string]$thales_x64 = (Get-ChildItem "SmartCard_Client_64*.msi"),
1317
[string]$thales_arm64 = (Get-ChildItem "SmartCard_Client_arm64*.msi"),
@@ -26,9 +30,10 @@ if($sign) {
2630
Sign("$path\RemoveAWPBlock.mst")
2731
}
2832
& wix build -nologo -ext WixToolset.BootstrapperApplications.wixext -ext WixToolset.Util.wixext "$path\bootstrapper.wxs" `
29-
-d "MSI_VERSION=$msiversion" -d "path=$path" -d "updater=$updater" -d "idemia=$idemia" `
33+
-out "$filename.exe" -d "MSI_VERSION=$msiversion" -d "path=$path" -d "idemia=$idemia" `
3034
-d "thales_x64=$thales_x64" -d "thales_arm64=$thales_arm64" -d "certdel_x64=$certdel_x64" -d "certdel_arm64=$certdel_arm64" `
31-
-d "webeid=$webeid" -d "qdigidoc4=$qdigidoc4" -d "shellext=$shellext" -out "$filename.exe"
35+
-d "webeid_x64=$webeid_x64" -d "qdigidoc4_x64=$qdigidoc4_x64" -d "shellext_x64=$shellext_x64" -d "updater_x64=$updater_x64" `
36+
-d "webeid_arm64=$webeid_arm64" -d "qdigidoc4_arm64=$qdigidoc4_arm64" -d "shellext_arm64=$shellext_arm64" -d "updater_arm64=$updater_arm64"
3237
if($sign) {
3338
& wix burn detach -nologo "$filename.exe" -engine "$filename.engine.exe"
3439
Sign("$filename.engine.exe")

0 commit comments

Comments
 (0)