Skip to content

Commit e96b7d4

Browse files
authored
Disable Idemia minidriver on ARM64 Windows and add Thales arm64 (#99)
IB-8051 Signed-off-by: Raul Metsma <raul@metsma.ee>
1 parent 9aeb544 commit e96b7d4

File tree

5 files changed

+24
-9
lines changed

5 files changed

+24
-9
lines changed

HyperlinkSidebarTheme.en.wxl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,5 @@
7676
<String Id="edgeplugin" Value="Edge authentication and signing support" />
7777
<String Id="edgepluginpolicy" Value="Edge extension will be activated automatically" />
7878
<String Id="SupportedWindows" Value="You are using an unsupported operating system. You'll need Windows 10 or later 64-bit operating system to successfully install ID-software." />
79+
<String Id="ARM64Warning" Value="ID-cards issued by the Estonian card manufacturer IDEMIA (issued before 11.2025) cannot be used electronically on Windows ARM devices." />
7980
</WixLocalization>

HyperlinkSidebarTheme.et.wxl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,5 @@
7676
<String Id="edgeplugin" Value="Edge isikutuvastamise ja allkirjastamise tugi" />
7777
<String Id="edgepluginpolicy" Value="Edge laiendus aktiveeritakse automaatselt" />
7878
<String Id="SupportedWindows" Value="Kasutate mittetoetatud operatsioonisüsteemi. ID-tarkvara paigaldamiseks on vaja Windows 10 või uuemat 64-bitist operatsioonisüsteemi." />
79+
<String Id="ARM64Warning" Value="Eesti kaarditootja IDEMIA väljastatud ID-kaarte (väljastatud enne 11.2025) ei saa Windows ARM seadmetes elektroonseteks toiminguteks kasutada." />
7980
</WixLocalization>

HyperlinkSidebarTheme.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
<Text Condition="WixStdBASuppressOptionsUI">#(loc.InstallMessage)</Text>
3131
<Text Condition="NOT WixStdBASuppressOptionsUI">#(loc.InstallMessageOptions)</Text>
3232
</Label>
33+
<Label X="185" Y="230" Width="-11" Height="69" TabStop="yes" FontId="3" DisablePrefix="yes" VisibleCondition="ARCH=&quot;ARM64&quot;">#(loc.ARM64Warning)</Label>
3334
<Hypertext X="185" Y="-111" Width="-11" Height="17" TabStop="yes" FontId="3">#(loc.ChangeLogLink)</Hypertext>
3435
<Hypertext Name="EulaHyperlink" X="185" Y="-111" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
3536
<Label Name="InstallVersion" X="185" Y="-81" Width="-11" Height="17" FontId="3" DisablePrefix="yes" VisibleCondition="WixStdBAShowVersion">#(loc.InstallVersion)</Label>

bootstrapper.wxs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,11 @@
4646
<util:RegistrySearch Root="HKLM" Key="$(var.REGPath)" Value="AutoUpdate" Variable="AutoUpdate" Condition="AutoUpdateExists" After="AutoUpdateExists" />
4747
<util:RegistrySearch Root="HKLM" Key="$(var.REGPath)" Value="IconsDesktop" Variable="IconsDesktopExists" Result="exists" Id="IconsDesktopExists" />
4848
<util:RegistrySearch Root="HKLM" Key="$(var.REGPath)" Value="IconsDesktop" Variable="IconsDesktop" Condition="IconsDesktopExists" After="IconsDesktopExists" />
49+
<util:RegistrySearch Id="DetectARM64Processor" Root="HKLM" Result="value" Variable="ARCH"
50+
Key="SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Value="PROCESSOR_ARCHITECTURE" />
4951

5052
<Chain>
51-
<MsiPackage Id="IDEMIA" InstallCondition="MinidriverInstall = 1" ForcePerMachine="yes"
53+
<MsiPackage Id="IDEMIA" InstallCondition="MinidriverInstall = 1 AND NOT ARCH=&quot;ARM64&quot;" ForcePerMachine="yes"
5254
SourceFile="$(var.idemia)" Compressed="yes">
5355
<Payload SourceFile="$(var.path)\RemoveAWPBlock.mst" Name="RemoveAWPBlock.mst" Compressed="yes" />
5456
<MsiProperty Name="TRANSFORMS" Value="RemoveAWPBlock.mst" />
@@ -58,12 +60,20 @@
5860
<MsiProperty Name="PKCS11" Value="0" />
5961
<MsiProperty Name="IDPLUG_SERVICES" Value="[InstallCertSynchronizer]" />
6062
</MsiPackage>
61-
<MsiPackage Id="THALES" InstallCondition="MinidriverInstall = 1" ForcePerMachine="yes"
62-
SourceFile="$(var.thales)" Compressed="yes">
63+
<MsiPackage Id="THALES.X64" InstallCondition="MinidriverInstall = 1 AND NOT ARCH=&quot;ARM64&quot;" ForcePerMachine="yes"
64+
SourceFile="$(var.thales_x64)" Compressed="yes">
6365
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
6466
</MsiPackage>
65-
<MsiPackage Id="THALES.CERTDEL" InstallCondition="MinidriverInstall = 1 AND InstallCertSynchronizer = 1" ForcePerMachine="yes"
66-
SourceFile="$(var.thales_certdel)" Compressed="yes">
67+
<MsiPackage Id="THALES.ARM64" InstallCondition="MinidriverInstall = 1 AND ARCH=&quot;ARM64&quot;" ForcePerMachine="yes"
68+
SourceFile="$(var.thales_arm64)" Compressed="yes">
69+
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
70+
</MsiPackage>
71+
<MsiPackage Id="CERTDEL.X64" InstallCondition="MinidriverInstall = 1 AND InstallCertSynchronizer = 1 AND NOT ARCH=&quot;ARM64&quot;" ForcePerMachine="yes"
72+
SourceFile="$(var.certdel_x64)" Compressed="yes">
73+
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
74+
</MsiPackage>
75+
<MsiPackage Id="CERTDEL.ARM64" InstallCondition="MinidriverInstall = 1 AND InstallCertSynchronizer = 1 AND ARCH=&quot;ARM64&quot;" ForcePerMachine="yes"
76+
SourceFile="$(var.certdel_arm64)" Compressed="yes">
6777
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
6878
</MsiPackage>
6979

build.ps1

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ param(
99
[string]$shellext = (Get-ChildItem "Digidoc_ShellExt*x64.msi"),
1010
[string]$webeid = (Get-ChildItem "web-eid*x64.msi"),
1111
[string]$idemia = (Get-ChildItem "idplug-classic-*-Estonia_64bit.msi"),
12-
[string]$thales = (Get-ChildItem "SmartCard_Client_*.msi"),
13-
[string]$thales_certdel = (Get-ChildItem "CertDelApp_*.msi"),
12+
[string]$thales_x64 = (Get-ChildItem "SmartCard_Client_64*.msi"),
13+
[string]$thales_arm64 = (Get-ChildItem "SmartCard_Client_arm64*.msi"),
14+
[string]$certdel_x64 = (Get-ChildItem "CertDelApp_64*.msi"),
15+
[string]$certdel_arm64 = (Get-ChildItem "CertDelApp_arm64*.msi"),
1416
[string]$sign = $null
1517
)
1618

@@ -24,8 +26,8 @@ if($sign) {
2426
Sign("$path\RemoveAWPBlock.mst")
2527
}
2628
& wix build -nologo -ext WixToolset.BootstrapperApplications.wixext -ext WixToolset.Util.wixext "$path\bootstrapper.wxs" `
27-
-d "MSI_VERSION=$msiversion" -d "path=$path" -d "updater=$updater" `
28-
-d "idemia=$idemia" -d "thales=$thales" -d "thales_certdel=$thales_certdel" `
29+
-d "MSI_VERSION=$msiversion" -d "path=$path" -d "updater=$updater" -d "idemia=$idemia" `
30+
-d "thales_x64=$thales_x64" -d "thales_arm64=$thales_arm64" -d "certdel_x64=$certdel_x64" -d "certdel_arm64=$certdel_arm64" `
2931
-d "webeid=$webeid" -d "qdigidoc4=$qdigidoc4" -d "shellext=$shellext" -out "$filename.exe"
3032
if($sign) {
3133
& wix burn detach -nologo "$filename.exe" -engine "$filename.engine.exe"

0 commit comments

Comments
 (0)