From 6643438e289bf4f8c3e1367de6b8b502872cd90a Mon Sep 17 00:00:00 2001 From: Rob Emery Date: Wed, 22 Jul 2026 12:39:28 +0100 Subject: [PATCH] Implementing the RememberProperty pattern for the settings set through the UI on install. Previously, these got reset on upgrade. This is as simple as squirrelling them away in the registry for all settings except for the INSTALLDIR, as the INSTALLDIR depends on the environment that the msi is being installed into (i.e. the actual location of ProgramFiles can be anywhere technically), that needs to be dynamically set after the CostFinalize phase and in the version of WiX schema supported by wixl needs to be implemented through a customAction. This will not fix the upgrade issue for existing installs, as the information entered doesn't exist in the registry or anything so the best option imo is to backup the navidrome database and config uninstall the old version and install the new version with the desired paths. It should then upgrade from there on correctly. --- release/wix/SettingsDlg.wxs | 2 +- release/wix/build_msi.sh | 2 +- release/wix/navidrome.wxs | 105 +++++++++++++++++++++--------------- 3 files changed, 63 insertions(+), 46 deletions(-) diff --git a/release/wix/SettingsDlg.wxs b/release/wix/SettingsDlg.wxs index 4a83f91da..cdc625434 100644 --- a/release/wix/SettingsDlg.wxs +++ b/release/wix/SettingsDlg.wxs @@ -16,7 +16,7 @@ - + diff --git a/release/wix/build_msi.sh b/release/wix/build_msi.sh index a8781a965..119abc8c5 100755 --- a/release/wix/build_msi.sh +++ b/release/wix/build_msi.sh @@ -40,7 +40,7 @@ fi # Download static compiled ffmpeg for Windows FFMPEG_FILE="ffmpeg-n${FFMPEG_VERSION}-latest-${WIN_ARCH}-gpl-${FFMPEG_VERSION}" -wget --quiet --output-document="${DOWNLOAD_FOLDER}/ffmpeg.zip" \ +[ ! -e "${DOWNLOAD_FOLDER}/ffmpeg.zip" ] && wget --quiet --output-document="${DOWNLOAD_FOLDER}/ffmpeg.zip" \ "https://github.com/${FFMPEG_REPOSITORY}/releases/download/latest/${FFMPEG_FILE}.zip" rm -rf "${DOWNLOAD_FOLDER}/extracted_ffmpeg" unzip -d "${DOWNLOAD_FOLDER}/extracted_ffmpeg" "${DOWNLOAD_FOLDER}/ffmpeg.zip" "*/ffmpeg.exe" "*/ffprobe.exe" diff --git a/release/wix/navidrome.wxs b/release/wix/navidrome.wxs index 6d94bab9d..3ea08ec27 100644 --- a/release/wix/navidrome.wxs +++ b/release/wix/navidrome.wxs @@ -14,6 +14,7 @@ + @@ -23,57 +24,72 @@ - - - + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -82,6 +98,7 @@ + Not Installed AND NOT WIX_UPGRADE_DETECTED Not Installed AND NOT WIX_UPGRADE_DETECTED