From f06a789d2547d06832d32115b19e0b7d507c9e57 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Fri, 22 Nov 2024 01:37:52 -0500 Subject: [PATCH] build: wix generation for windows with cpack --- .../actions/install-dependencies/action.yml | 6 ++- cmake/Libraries.cmake | 7 +++ deploy/CMakeLists.txt | 45 ++++++++++++++++-- .../wix/msm => }/Microsoft_VC142_CRT_x64.msm | Bin deploy/dist/wix/images/banner.png | Bin 11387 -> 0 bytes deploy/wix-banner.png | Bin 0 -> 13772 bytes .../wix/images/dialog.png => wix-dialog.png} | Bin deploy/wix-patch.xml.in | 26 ++++++++++ src/lib/gui/tls/TlsCertificate.cpp | 7 ++- 9 files changed, 82 insertions(+), 9 deletions(-) rename deploy/{dist/wix/msm => }/Microsoft_VC142_CRT_x64.msm (100%) delete mode 100644 deploy/dist/wix/images/banner.png create mode 100644 deploy/wix-banner.png rename deploy/{dist/wix/images/dialog.png => wix-dialog.png} (100%) create mode 100644 deploy/wix-patch.xml.in diff --git a/.github/actions/install-dependencies/action.yml b/.github/actions/install-dependencies/action.yml index 6778ff7d8..c4d011619 100644 --- a/.github/actions/install-dependencies/action.yml +++ b/.github/actions/install-dependencies/action.yml @@ -95,6 +95,8 @@ runs: - name: Install Wix if: ${{ runner.os == 'Windows' }} run: | - dotnet tool install --global wix --version 4.0.4 - wix extension add --global WixToolset.UI.wixext/4.0.4 + dotnet tool install --global wix --version 5.0.2 + wix extension add --global WixToolset.UI.wixext/5.0.2 + wix extension add --global WixToolset.Util.wixext/5.0.2 + wix extension add --global WixToolset.Firewall.wixext/5.0.2 shell: pwsh diff --git a/cmake/Libraries.cmake b/cmake/Libraries.cmake index 2eeebec26..4f4bd1d2c 100644 --- a/cmake/Libraries.cmake +++ b/cmake/Libraries.cmake @@ -50,6 +50,13 @@ macro(configure_libs) message(VERBOSE "Set OPENSSL_ROOT_DIR: ${OPENSSL_ROOT_DIR}") set(OPENSSL_EXE_DIR "${OPENSSL_ROOT_DIR}/tools/openssl") add_definitions(-DOPENSSL_EXE_DIR="${OPENSSL_EXE_DIR}") + # HACK Install a copy of openssl on windows + install( + FILES + ${OPENSSL_EXE_DIR}/openssl.exe + ${OPENSSL_EXE_DIR}/openssl.cnf + DESTINATION . + ) endif() diff --git a/deploy/CMakeLists.txt b/deploy/CMakeLists.txt index a7bd845cf..800bf9867 100644 --- a/deploy/CMakeLists.txt +++ b/deploy/CMakeLists.txt @@ -46,9 +46,14 @@ elseif(NOT APPLE) ) endif() +if(WIN32) + set(CPACK_PACKAGE_NAME "Deskflow") +else() + set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) +endif() + # Generic Package Items set(CPACK_STRIP_FILES TRUE) -set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) set(CPACK_PACKAGE_CONTACT "Deskflow ") set(CPACK_PACKAGE_DESCRIPTION ${CMAKE_PROJECT_DESCRIPTION}) set(CPACK_PACKAGE_VENDOR "Deskflow") @@ -66,16 +71,49 @@ set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) set(CPACK_RPM_PACKAGE_LICENSE "GPLv2") set(CPACK_RPM_PACKAGE_GROUP "Applications/System") + if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") - cmake_path(SET QT_PATH NORMALIZE "${Qt6_DIR}../../") set(CPACK_WIX_UPGRADE_GUID "027D1C8A-E7A5-4754-BB93-B2D45BFDBDC8") + # TODO RM with legacy WIX Builder + cmake_path(SET QT_PATH NORMALIZE "${Qt6_DIR}../../") + + # TODO RM with legacy WIX Builder configure_files( ${PROJECT_SOURCE_DIR}/deploy/dist/wix ${PROJECT_BINARY_DIR}/installer ) + set(CPACK_WIX_UI_BANNER "${CMAKE_CURRENT_SOURCE_DIR}/wix-banner.png") + set(CPACK_WIX_UI_DIALOG "${CMAKE_CURRENT_SOURCE_DIR}/wix-dialog.png") + set(CPACK_WIX_MSM_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Microsoft_VC142_CRT_x64.msm") + + + # Required Extra Extenstions + list(APPEND CPACK_WIX_EXTENSIONS "WixToolset.Util.wixext" "WixToolset.Firewall.wixext") + + # Make sure to also put the xmlns for the ext into the wix block on generated files + list(APPEND CPACK_WIX_CUSTOM_XMLNS "util=http://wixtoolset.org/schemas/v4/wxs/util" "firewall=http://wixtoolset.org/schemas/v4/wxs/firewall") + + # Inject Service and Firewall changes into geneated Wix File. + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/wix-patch.xml.in "${CMAKE_CURRENT_BINARY_DIR}/wix-patch.xml" @ONLY) + set(CPACK_WIX_PATCH_FILE "${CMAKE_CURRENT_BINARY_DIR}/wix-patch.xml") + + # Menu Entry + set(CPACK_WIX_PROGRAM_MENU_FOLDER "Deskflow") + set(CPACK_PACKAGE_EXECUTABLES "deskflow" "Deskflow") + + # Default Install Path + set(CPACK_PACKAGE_INSTALL_DIRECTORY "Deskflow") + + # If Wix4+ is installed make a package + find_program(WIX_APP wix) + if (NOT "${WIX_APP}" STREQUAL "") + set(CPACK_WIX_VERSION 4) + list(APPEND CPACK_GENERATOR "WIX") + endif() + if(CMAKE_SYSTEM_PROCESSOR MATCHES AMD64) set(OS_STRING "win-x64") elseif(CMAKE_SYSTEM_PROCESSOR MATCHES ARM64) @@ -105,7 +143,8 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "|.*BSD") set(OS_STRING ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}) endif() -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PACKAGE_VERSION_LABEL}-${OS_STRING}") +# Always use "deskflow" for start of name +set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${PACKAGE_VERSION_LABEL}-${OS_STRING}") message(STATUS "Package Basename: ${CPACK_PACKAGE_FILE_NAME}") include(CPack) diff --git a/deploy/dist/wix/msm/Microsoft_VC142_CRT_x64.msm b/deploy/Microsoft_VC142_CRT_x64.msm similarity index 100% rename from deploy/dist/wix/msm/Microsoft_VC142_CRT_x64.msm rename to deploy/Microsoft_VC142_CRT_x64.msm diff --git a/deploy/dist/wix/images/banner.png b/deploy/dist/wix/images/banner.png deleted file mode 100644 index 90f52a1148230d0ffa483b143166b68e87d0570e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11387 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 N%H00P+G{@l_@9opQ5^sP diff --git a/deploy/wix-banner.png b/deploy/wix-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..d94e5c65b252ae4c3b423de3db59616856923d7b GIT binary patch literal 13772 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
VMypO+%NUo?~ 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 literal 0 HcmV?d00001 diff --git a/deploy/dist/wix/images/dialog.png b/deploy/wix-dialog.png similarity index 100% rename from deploy/dist/wix/images/dialog.png rename to deploy/wix-dialog.png diff --git a/deploy/wix-patch.xml.in b/deploy/wix-patch.xml.in new file mode 100644 index 000000000..d4ef02b39 --- /dev/null +++ b/deploy/wix-patch.xml.in @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/lib/gui/tls/TlsCertificate.cpp b/src/lib/gui/tls/TlsCertificate.cpp index c927348ee..46cac09a7 100644 --- a/src/lib/gui/tls/TlsCertificate.cpp +++ b/src/lib/gui/tls/TlsCertificate.cpp @@ -30,7 +30,6 @@ static const char *const kCertificateHashAlgorithm = "-sha256"; static const char *const kCertificateLifetime = "365"; #if defined(Q_OS_WIN) -static const char *const kWinOpenSslDir = "OpenSSL"; static const char *const kWinOpenSslBinary = "openssl.exe"; static const char *const kConfigFile = "openssl.cnf"; #elif defined(Q_OS_UNIX) @@ -44,12 +43,12 @@ namespace deskflow::gui { QString openSslWindowsDir() { - auto appDir = QDir(QCoreApplication::applicationDirPath()); - auto openSslDir = QDir(appDir.filePath(kWinOpenSslDir)); + auto openSslDir = QDir(QCoreApplication::applicationDirPath()); + auto openSslBin = QFile(QStringLiteral("%1/%2").arg(openSslDir.absolutePath(), kWinOpenSslBinary)); // in production, openssl is deployed with the app. // in development, we can use the openssl path available at compile-time. - if (!openSslDir.exists()) { + if (!openSslBin.exists()) { openSslDir = QDir(OPENSSL_EXE_DIR); }