diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 44a7774..8171164 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,6 +57,10 @@ jobs: uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 + - name: Install WiX + run: | + dotnet tool install --global wix + wix extension -g add WixToolset.UI.wixext - name: Build run: | cmake -S . -B build ` diff --git a/CMakeLists.txt b/CMakeLists.txt index e51516a..1e98e6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -148,15 +148,21 @@ else() get_target_property(qtCore_install_prefix Qt6::qmake IMPORTED_LOCATION) get_filename_component(qtCore_install_prefix ${qtCore_install_prefix} DIRECTORY) add_custom_target(installer DEPENDS ${PROJECT_NAME} - COMMAND "$ENV{WIX}bin\\candle.exe" -nologo -arch ${PLATFORM} - -dMSI_VERSION=${VERSION} -dqt_path=${qtCore_install_prefix} - -dqt_suffix=$<$:d> -dqtconf=${CMAKE_SOURCE_DIR}/qt.conf -dlibs_path="${SSL_PATH}" - -dupdater_path=$ ${CMAKE_SOURCE_DIR}/idupdater.wxs - ${CMAKE_SOURCE_DIR}/cmake/modules/WelcomeDlg2.wxs ${CMAKE_SOURCE_DIR}/cmake/modules/WixUI_Minimal2.wxs - COMMAND "$ENV{WIX}bin\\light.exe" -nologo -o "${MSI_FILE}.msi" -ext WixUIExtension - idupdater.wixobj WelcomeDlg2.wixobj WixUI_Minimal2.wixobj - -dWixUIDialogBmp=${CMAKE_SOURCE_DIR}/cmake/modules/dlgbmp.bmp - -dWixUIBannerBmp=${CMAKE_SOURCE_DIR}/cmake/modules/banner.bmp + COMMAND "wix.exe" build -nologo + -arch ${PLATFORM} + -ext WixToolset.UI.wixext + -bv WixUIDialogBmp=${CMAKE_SOURCE_DIR}/cmake/modules/dlgbmp.bmp + -bv WixUIBannerBmp=${CMAKE_SOURCE_DIR}/cmake/modules/banner.bmp + -d MSI_VERSION=${VERSION} + -d appicon=${CMAKE_SOURCE_DIR}/appicon.ico + -d qt_path=${qtCore_install_prefix} + -d qt_suffix=$<$:d> + -d libs_path="${SSL_PATH}" + -d updater_path=$ + ${CMAKE_SOURCE_DIR}/idupdater.wxs + ${CMAKE_SOURCE_DIR}/cmake/modules/WelcomeDlg.wxs + ${CMAKE_SOURCE_DIR}/cmake/modules/WixUI_Minimal.wxs + -o "${MSI_FILE}.msi" ) if(SIGNCERT) if(CROSSSIGNCERT) diff --git a/cmake b/cmake index 01ec22d..f1e0460 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 01ec22ddceaf93824737bed3158bd4a560c4af9d +Subproject commit f1e04604baff3c8c4051a604eb92559d696b3fa2 diff --git a/idupdater.wxs b/idupdater.wxs index 41e5913..9535e07 100644 --- a/idupdater.wxs +++ b/idupdater.wxs @@ -1,21 +1,8 @@ - - - - - - + - - + - + @@ -25,83 +12,79 @@ - + - + - - - - - - - + + + + + + + - - = 601)]]> - - + "A newer version of [ProductName] is already installed. If you are trying to downgrade, please uninstall the newer version first." /> + + - - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -113,14 +96,14 @@ - - + + - (NOT Installed) AND (AUTO_UPDATE = 1) - REMOVE="ALL" + + - +