Skip to content

Commit f4ce939

Browse files
committed
Convert to WIX 5
WE2-881 Signed-off-by: Raul Metsma <raul@metsma.ee>
1 parent c0e11e1 commit f4ce939

10 files changed

+81
-90
lines changed

.github/workflows/cmake-windows.yml

+17-5
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ jobs:
3737

3838
- name: Install WiX
3939
run: |
40-
dotnet tool install --global wix --version 4.0.5
41-
wix extension -g add WixToolset.UI.wixext/4.0.5
42-
wix extension -g add WixToolset.Util.wixext/4.0.5
43-
wix extension -g add WixToolset.Bal.wixext/4.0.5
44-
40+
dotnet tool install --global wix --version 5.0.0
41+
wix extension -g add WixToolset.UI.wixext/5.0.0
42+
wix extension -g add WixToolset.Util.wixext/5.0.0
43+
wix extension -g add WixToolset.Bal.wixext/5.0.0
44+
4545
- name: Configure
4646
run: |
4747
cmake "-GNinja" -S . -B build `
@@ -52,6 +52,18 @@ jobs:
5252
run: |
5353
cmake --build build --config ${env:BUILD_TYPE}
5454
cmake --build build --config ${env:BUILD_TYPE} --target installer
55+
56+
- name: Downgrade WiX
57+
run: |
58+
wix extension remove -g WixToolset.Bal.wixext
59+
dotnet tool uninstall --global wix
60+
dotnet tool install --global wix --version 4.0.5
61+
wix extension -g add WixToolset.UI.wixext/4.0.5
62+
wix extension -g add WixToolset.Util.wixext/4.0.5
63+
wix extension -g add WixToolset.Bal.wixext/4.0.5
64+
65+
- name: Build Bundle
66+
run: |
5567
cmake --build build --config ${env:BUILD_TYPE} --target bundle
5668
5769
- name: Test

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -269,10 +269,10 @@ https://github.com/mrts/docker-qt-cmake-gtest-valgrind-ubuntu/blob/master/Docker
269269
- Download Visual Studio 2019 community installer from https://visualstudio.microsoft.com/ and install _Desktop C++ Development_
270270
- Install WIX toolset
271271

272-
dotnet tool install --global wix --version 4.0.5
273-
wix extension -g add WixToolset.UI.wixext/4.0.5
274-
wix extension -g add WixToolset.Util.wixext/4.0.5
275-
wix extension -g add WixToolset.Bal.wixext/4.0.5
272+
dotnet tool install --global wix --version 5.0.0
273+
wix extension -g add WixToolset.UI.wixext/5.0.0
274+
wix extension -g add WixToolset.Util.wixext/5.0.0
275+
wix extension -g add WixToolset.Bal.wixext/5.0.0
276276

277277
- Download and install Git for Windows from https://git-scm.com/download/win
278278
- Download and install CMake from https://cmake.org/download/
@@ -288,7 +288,7 @@ https://github.com/mrts/docker-qt-cmake-gtest-valgrind-ubuntu/blob/master/Docker
288288
.\vcpkg install --recurse --triplet x64-windows --clean-after-build gtest openssl
289289

290290
- Install _Qt_ with the official [_Qt Online Installer_](https://www.qt.io/download-qt-installer),
291-
choose _Custom installation > Qt 6.2.4 > MSVC 2019 64-bit_.
291+
choose _Custom installation > Qt 6.6.3 > MSVC 2019 64-bit_.
292292

293293
### macOS
294294

install/HyperlinkSidebarTheme.cs.wxl

+6-4
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<String Id="ProgressCancelButton" Value="&amp;Zrušit" />
2727
<String Id="ModifyHeader" Value="Upravit instalaci" />
2828
<String Id="ModifyRepairButton" Value="Op&amp;ravit" />
29-
<String Id="ModifyUninstallButton" Value="&amp;Odinstalovat vše" />
29+
<String Id="ModifyUninstallButton" Value="&amp;Odinstalovat" />
3030
<String Id="ModifyCancelButton" Value="&amp;Zavřít" />
3131
<String Id="SuccessRepairHeader" Value="Oprava byla úspěšně dokončena." />
3232
<String Id="SuccessUninstallHeader" Value="Odinstalace byla dokončena" />
@@ -46,12 +46,14 @@
4646
<String Id="FailureRestartText" Value="Abyste dokončili rollback softwaru, musíte restartovat počítač." />
4747
<String Id="FailureRestartButton" Value="&amp;Restartovat" />
4848
<String Id="FailureCloseButton" Value="&amp;Zavřít" />
49-
<String Id="FilesInUseHeader" Value="Používané soubory" />
49+
<String Id="FilesInUseTitle" Value="Používané soubory" />
5050
<String Id="FilesInUseLabel" Value="Následující aplikace používají soubory, které je třeba aktualizovat:" />
51+
<String Id="FilesInUseNetfxCloseRadioButton" Value="Close the &amp;applications." />
5152
<String Id="FilesInUseCloseRadioButton" Value="Zavřete &amp;aplikace a pokuste se je restartovat." />
5253
<String Id="FilesInUseDontCloseRadioButton" Value="&amp;Nezavírejte aplikace. Bude vyžadován restart." />
53-
<String Id="FilesInUseOkButton" Value="&amp;OK" />
54-
<String Id="FilesInUseCancelButton" Value="&amp;Zrušit" />
54+
<String Id="FilesInUseRetryButton" Value="&amp;Retry" />
55+
<String Id="FilesInUseIgnoreButton" Value="&amp;Ignore" />
56+
<String Id="FilesInUseExitButton" Value="E&amp;xit" />
5557
<String Id="ChangeLogLink"></String>
5658
<String Id="OptionsCustomizeInstall" Value="Přizpůsobit instalaci" />
5759
<String Id="chromeplugin" Value="Podpora podepisování Chrome" />

install/HyperlinkSidebarTheme.en.wxl

+7-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<String Id="ProgressCancelButton" Value="&amp;Cancel" />
2727
<String Id="ModifyHeader" Value="Modify setup" />
2828
<String Id="ModifyRepairButton" Value="&amp;Repair" />
29-
<String Id="ModifyUninstallButton" Value="&amp;Uninstall all" />
29+
<String Id="ModifyUninstallButton" Value="&amp;Uninstall" />
3030
<String Id="ModifyCancelButton" Value="&amp;Close" />
3131
<String Id="SuccessRepairHeader" Value="Repair completed successfully." />
3232
<String Id="SuccessUninstallHeader" Value="Uninstall completed" />
@@ -46,12 +46,14 @@
4646
<String Id="FailureRestartText" Value="You must restart your computer to complete the rollback of the software." />
4747
<String Id="FailureRestartButton" Value="&amp;Restart" />
4848
<String Id="FailureCloseButton" Value="&amp;Close" />
49-
<String Id="FilesInUseHeader" Value="Files in use" />
49+
<String Id="FilesInUseTitle" Value="Files In Use" />
5050
<String Id="FilesInUseLabel" Value="The following applications are using files that need to be updated:" />
51+
<String Id="FilesInUseNetfxCloseRadioButton" Value="Close the &amp;applications." />
5152
<String Id="FilesInUseCloseRadioButton" Value="Close the &amp;applications and attempt to restart them." />
52-
<String Id="FilesInUseDontCloseRadioButton" Value="&amp;Do not close the applications. A reboot will be required." />
53-
<String Id="FilesInUseOkButton" Value="&amp;OK" />
54-
<String Id="FilesInUseCancelButton" Value="&amp;Cancel" />
53+
<String Id="FilesInUseDontCloseRadioButton" Value="&amp;Do not close applications. A reboot will be required." />
54+
<String Id="FilesInUseRetryButton" Value="&amp;Retry" />
55+
<String Id="FilesInUseIgnoreButton" Value="&amp;Ignore" />
56+
<String Id="FilesInUseExitButton" Value="E&amp;xit" />
5557
<String Id="ChangeLogLink"></String>
5658
<String Id="OptionsCustomizeInstall" Value="Customize install" />
5759
<String Id="chromeplugin" Value="Chrome signing support" />

install/HyperlinkSidebarTheme.et.wxl

+7-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<String Id="ProgressCancelButton" Value="&amp;Katkesta" />
2727
<String Id="ModifyHeader" Value="Muuda paigaldust" />
2828
<String Id="ModifyRepairButton" Value="&amp;Paranda" />
29-
<String Id="ModifyUninstallButton" Value="&amp;Eemalda kõik" />
29+
<String Id="ModifyUninstallButton" Value="&amp;Eemalda" />
3030
<String Id="ModifyCancelButton" Value="&amp;Sulge" />
3131
<String Id="SuccessRepairHeader" Value="Tarkvara parandus õnnestus" />
3232
<String Id="SuccessUninstallHeader" Value="Tarkvara eemaldatud" />
@@ -46,12 +46,14 @@
4646
<String Id="FailureRestartText" Value="Muudatuste tagasivõtmiseks tuleb arvuti taaskäivitada." />
4747
<String Id="FailureRestartButton" Value="&amp;Taaskäivita" />
4848
<String Id="FailureCloseButton" Value="&amp;Sulge" />
49-
<String Id="FilesInUseHeader" Value="Failid on kasutuses" />
50-
<String Id="FilesInUseLabel" Value="Allnimetatud rakendused kasutavad faile, mida tuleb uuendada." />
49+
<String Id="FilesInUseTitle" Value="Failid on kasutuses" />
50+
<String Id="FilesInUseLabel" Value="Allnimetatud rakendused kasutavad faile, mida tuleb uuendada:" />
51+
<String Id="FilesInUseNetfxCloseRadioButton" Value="Close the &amp;applications." />
5152
<String Id="FilesInUseCloseRadioButton" Value="Sulge &amp;rakendused ja proovi need taaskäivitada." />
5253
<String Id="FilesInUseDontCloseRadioButton" Value="&amp;Ära sulge rakendusi. Arvuti tuleb taaskäivitada." />
53-
<String Id="FilesInUseOkButton" Value="&amp;OK" />
54-
<String Id="FilesInUseCancelButton" Value="&amp;Katkesta" />
54+
<String Id="FilesInUseRetryButton" Value="&amp;Korda" />
55+
<String Id="FilesInUseIgnoreButton" Value="&amp;Ignoreeri" />
56+
<String Id="FilesInUseExitButton" Value="&amp;Sulge" />
5557
<String Id="ChangeLogLink"></String>
5658
<String Id="OptionsCustomizeInstall" Value="Kohanda paigaldust" />
5759
<String Id="chromeplugin" Value="Chrome allkirjastamise tugi" />

install/HyperlinkSidebarTheme.sk.wxl

+6-4
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<String Id="ProgressCancelButton" Value="&amp;Zrušiť" />
2727
<String Id="ModifyHeader" Value="Upraviť inštaláciu" />
2828
<String Id="ModifyRepairButton" Value="Op&amp;raviť" />
29-
<String Id="ModifyUninstallButton" Value="&amp;Odinštalovať všetko" />
29+
<String Id="ModifyUninstallButton" Value="&amp;Odinštalovať" />
3030
<String Id="ModifyCancelButton" Value="&amp;Zavrieť" />
3131
<String Id="SuccessRepairHeader" Value="Oprava bola úspešne dokončená." />
3232
<String Id="SuccessUninstallHeader" Value="Odinštalovanie bolo dokončené" />
@@ -46,12 +46,14 @@
4646
<String Id="FailureRestartText" Value="Aby ste dokončili rollback softvéru, musíte reštartovať počítač." />
4747
<String Id="FailureRestartButton" Value="&amp;Reštartovať" />
4848
<String Id="FailureCloseButton" Value="&amp;Zavrieť" />
49-
<String Id="FilesInUseHeader" Value="Používané súbory" />
49+
<String Id="FilesInUseTitle" Value="Používané súbory" />
5050
<String Id="FilesInUseLabel" Value="Nasledujúce aplikácie používajú súbory, ktoré je potrebné aktualizovať:" />
51+
<String Id="FilesInUseNetfxCloseRadioButton" Value="Close the &amp;applications." />
5152
<String Id="FilesInUseCloseRadioButton" Value="Zatvorte &amp;aplikácie a pokúste sa ich reštartovať." />
5253
<String Id="FilesInUseDontCloseRadioButton" Value="&amp;Nezatvárajte aplikácie. Bude vyžadovaný reštart." />
53-
<String Id="FilesInUseOkButton" Value="&amp;OK" />
54-
<String Id="FilesInUseCancelButton" Value="&amp;Zrušiť" />
54+
<String Id="FilesInUseRetryButton" Value="&amp;Retry" />
55+
<String Id="FilesInUseIgnoreButton" Value="&amp;Ignore" />
56+
<String Id="FilesInUseExitButton" Value="E&amp;xit" />
5557
<String Id="ChangeLogLink"></String>
5658
<String Id="OptionsCustomizeInstall" Value="Prispôsobiť inštaláciu" />
5759
<String Id="chromeplugin" Value="Podpora podpisovania Chrome" />

install/WixUI_Minimal.wxs

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Patch dialog sequence:
5656
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2" Condition="Installed AND PATCH" />
5757

5858
<InstallUISequence>
59-
<Show Dialog="WelcomeDlg" Before="WelcomeDlg2" Condition="Installed AND PATCH" />
59+
<Show Dialog="override WelcomeDlg" Before="WelcomeDlg2" Condition="Installed AND PATCH" />
6060
</InstallUISequence>
6161

6262
<Property Id="ARPNOMODIFY" Value="1" />

install/plugins.wxs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<Chain>
3737
<MsiPackage Id="WebEID" InstallCondition="VersionNT64" ForcePerMachine="yes"
3838
SourceFile="$(var.webeid).qt.msi" Compressed="yes">
39-
<MsiProperty Name="APPLICATIONFOLDER" Value="[ProgramFiles64Folder]Web eID" />
39+
<MsiProperty Name="INSTALLFOLDER" Value="[ProgramFiles64Folder]Web eID" />
4040
<MsiProperty Name="CHROMEINSTALL" Value="[ChromeSupport]" />
4141
<MsiProperty Name="CHROMEPOLICY" Value="[ForceChromeExtensionActivation]" />
4242
<MsiProperty Name="EDGEINSTALL" Value="[EdgeSupport]" />

install/web-eid.wxs

+30-59
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
<MediaTemplate EmbedCab="yes" CompressionLevel="high" />
2929
<Icon Id="web_eid.exe" SourceFile="$(var.app_path)" />
3030
<Property Id="ARPPRODUCTICON" Value="web_eid.exe" />
31-
<Property Id="APPLICATIONNAME" Value="web-eid" />
3231
<Property Id="CHROMEINSTALL" Value="1" />
3332
<Property Id="CHROMEPOLICY" Value="0" />
3433
<Property Id="EDGEINSTALL" Value="1" />
@@ -70,29 +69,39 @@
7069
</InstallExecuteSequence>
7170

7271
<StandardDirectory Id="ProgramFiles6432Folder">
73-
<Directory Id="APPLICATIONFOLDER" Name="Web eID">
74-
<Component Id="Application" Guid="9b61583c-308f-435d-b221-c2f250271c7c">
75-
<File Source="$(var.app_path)" KeyPath="yes" />
72+
<Directory Id="INSTALLFOLDER" Name="Web eID">
73+
<File Source="$(var.app_path)" />
7674
<?ifdef var.qt_path ?>
77-
<File Source="$(var.VCPATH)\msvcp140$(var.qt_suffix).dll" />
78-
<File Source="$(var.VCPATH)\vcruntime140$(var.qt_suffix).dll" />
79-
<?if $(sys.BUILDARCH) = x64 ?>
80-
<File Source="$(var.VCPATH)\vcruntime140_1$(var.qt_suffix).dll" />
81-
<File Source="$(var.VCPATH)\msvcp140_1$(var.qt_suffix).dll" />
82-
<File Source="$(var.VCPATH)\msvcp140_2$(var.qt_suffix).dll" />
75+
<File Source="$(var.VCPATH)\msvcp140$(var.qt_suffix).dll" />
76+
<File Source="$(var.VCPATH)\msvcp140_1$(var.qt_suffix).dll" />
77+
<File Source="$(var.VCPATH)\msvcp140_2$(var.qt_suffix).dll" />
78+
<File Source="$(var.VCPATH)\vcruntime140$(var.qt_suffix).dll" />
79+
<?if $(sys.BUILDARCH) != x86 ?>
80+
<File Source="$(var.VCPATH)\vcruntime140_1$(var.qt_suffix).dll" />
8381
<?endif?>
84-
<File Source="$(var.ssl_path)\libcrypto-3$(var.ssl_suffix).dll" />
85-
<File Source="$(var.ssl_path)\libssl-3$(var.ssl_suffix).dll" />
86-
<File Source="$(var.qt_path)\Qt6Core$(var.qt_suffix).dll" />
87-
<File Source="$(var.qt_path)\Qt6Gui$(var.qt_suffix).dll" />
88-
<File Source="$(var.qt_path)\Qt6Network$(var.qt_suffix).dll" />
89-
<File Source="$(var.qt_path)\Qt6Svg$(var.qt_suffix).dll" />
90-
<File Source="$(var.qt_path)\Qt6Widgets$(var.qt_suffix).dll" />
91-
<File Source="$(var.qt_path)\D3DCompiler_47.dll" />
92-
<File Source="$(var.qt_path)\opengl32sw.dll" />
93-
<File Source="$(var.qt_path)\Qt6SvgWidgets$(var.qt_suffix).dll" />
82+
<File Source="$(var.ssl_path)\libcrypto-3$(var.ssl_suffix).dll" />
83+
<File Source="$(var.ssl_path)\libssl-3$(var.ssl_suffix).dll" />
84+
<File Source="$(var.qt_path)\Qt6Core$(var.qt_suffix).dll" />
85+
<File Source="$(var.qt_path)\Qt6Gui$(var.qt_suffix).dll" />
86+
<File Source="$(var.qt_path)\Qt6Network$(var.qt_suffix).dll" />
87+
<File Source="$(var.qt_path)\Qt6Svg$(var.qt_suffix).dll" />
88+
<File Source="$(var.qt_path)\Qt6Widgets$(var.qt_suffix).dll" />
89+
<File Source="$(var.qt_path)\D3DCompiler_47.dll" />
90+
<File Source="$(var.qt_path)\opengl32sw.dll" />
91+
<File Source="$(var.qt_path)\Qt6SvgWidgets$(var.qt_suffix).dll" />
92+
<Directory Id="platforms" Name="platforms">
93+
<File Source="$(var.qt_path)\..\plugins\platforms\qwindows$(var.qt_suffix).dll" />
94+
</Directory>
95+
<Directory Id="styles" Name="styles">
96+
<File Source="$(var.qt_path)\..\plugins\styles\qwindowsvistastyle$(var.qt_suffix).dll" />
97+
</Directory>
98+
<Directory Id="imageformats" Name="imageformats">
99+
<File Source="$(var.qt_path)\..\plugins\imageformats\qsvg$(var.qt_suffix).dll" />
100+
</Directory>
101+
<Directory Id="tls" Name="tls">
102+
<File Source="$(var.qt_path)\..\plugins\tls\qopensslbackend$(var.qt_suffix).dll" />
103+
</Directory>
94104
<?endif?>
95-
</Component>
96105
<Component Id="ChromeEdge" Transitive="yes" Condition="(CHROMEINSTALL = 1 OR EDGEINSTALL = 1)">
97106
<File Source="$(var.json)" />
98107
<RegistryValue Root="HKLM" Type="string" Value="[APPLICATIONFOLDER]eu.webeid.json"
@@ -103,28 +112,6 @@
103112
<RegistryValue Root="HKLM" Type="string" Value="[APPLICATIONFOLDER]eu.webeid.firefox.json"
104113
Key="SOFTWARE\Mozilla\NativeMessagingHosts\eu.webeid" />
105114
</Component>
106-
<?ifdef var.qt_path ?>
107-
<Directory Id="platforms" Name="platforms">
108-
<Component Id="qwindows.dll">
109-
<File Source="$(var.qt_path)\..\plugins\platforms\qwindows$(var.qt_suffix).dll" />
110-
</Component>
111-
</Directory>
112-
<Directory Id="styles" Name="styles">
113-
<Component Id="qwindowsvistastyle.dll">
114-
<File Source="$(var.qt_path)\..\plugins\styles\qwindowsvistastyle$(var.qt_suffix).dll" />
115-
</Component>
116-
</Directory>
117-
<Directory Id="imageformats" Name="imageformats">
118-
<Component Id="imageformats.dll">
119-
<File Source="$(var.qt_path)\..\plugins\imageformats\qsvg$(var.qt_suffix).dll" />
120-
</Component>
121-
</Directory>
122-
<Directory Id="tls" Name="tls">
123-
<Component Id="qopensslbackend.dll">
124-
<File Source="$(var.qt_path)\..\plugins\tls\qopensslbackend$(var.qt_suffix).dll" />
125-
</Component>
126-
</Directory>
127-
<?endif?>
128115
</Directory>
129116
<Component Id="Chrome" Transitive="yes" Condition="(CHROMEINSTALL = 1)" Bitness="always32">
130117
<RegistryValue Root="HKLM" Type="string" Name="update_url"
@@ -155,21 +142,5 @@
155142
Value="gnmckgbandlkacikdndelhfghdejfido" />
156143
</Component>
157144
</StandardDirectory>
158-
159-
<Feature Id="Install" Level="1" Title="Web eID" Display="expand" ConfigurableDirectory="APPLICATIONFOLDER">
160-
<ComponentRef Id="Application" />
161-
<ComponentRef Id="ChromeEdge" />
162-
<ComponentRef Id="Chrome" />
163-
<ComponentRef Id="ChromePolicy" />
164-
<ComponentRef Id="Edge" />
165-
<ComponentRef Id="EdgePolicy" />
166-
<ComponentRef Id="Firefox" />
167-
<?ifdef var.qt_path ?>
168-
<ComponentRef Id="qwindows.dll" />
169-
<ComponentRef Id="qwindowsvistastyle.dll" />
170-
<ComponentRef Id="imageformats.dll" />
171-
<ComponentRef Id="qopensslbackend.dll" />
172-
<?endif?>
173-
</Feature>
174145
</Package>
175146
</Wix>

src/app/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ if(WIN32)
4949
COMMAND ${WIX_CMD} -d qt_path=${qtCore_install_prefix} -o "${BASE_FILE}.qt.msi"
5050
WORKING_DIRECTORY $<TARGET_FILE_DIR:web-eid>
5151
)
52-
add_custom_target(bundle DEPENDS installer
52+
add_custom_target(bundle
5353
COMMAND wix.exe build -nologo
5454
-ext WixToolset.Bal.wixext
5555
-ext WixToolset.Util.wixext

0 commit comments

Comments
 (0)