From de7bcf3cc5cea6754491a9a4a8657ef3321c8398 Mon Sep 17 00:00:00 2001 From: Tony <68118705+Legend-Master@users.noreply.github.com> Date: Mon, 22 Apr 2024 23:59:16 +0800 Subject: [PATCH] fix(bundler/nsis): auto append product name when choosing a new install path (#9478) * Fix picking install folder doesn't auto append product name folder for nsis installer * Add change file * patch -> patch:enhance * Update nsis-append-product-name.md --- .changes/nsis-append-product-name.md | 5 +++++ .../bundler/src/bundle/windows/templates/installer.nsi | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .changes/nsis-append-product-name.md diff --git a/.changes/nsis-append-product-name.md b/.changes/nsis-append-product-name.md new file mode 100644 index 000000000000..176131f27e72 --- /dev/null +++ b/.changes/nsis-append-product-name.md @@ -0,0 +1,5 @@ +--- +'tauri-bundler': 'patch:enhance' +--- + +Append product name automatically when choosing a new install path using browse for nsis installer diff --git a/tooling/bundler/src/bundle/windows/templates/installer.nsi b/tooling/bundler/src/bundle/windows/templates/installer.nsi index f26bdd31c37b..de6357f3425f 100644 --- a/tooling/bundler/src/bundle/windows/templates/installer.nsi +++ b/tooling/bundler/src/bundle/windows/templates/installer.nsi @@ -48,6 +48,12 @@ Name "${PRODUCTNAME}" BrandingText "${COPYRIGHT}" OutFile "${OUTFILE}" +; We don't actually use this value as default install path, +; it's just for nsis to append the product name folder in the directory selector +; https://nsis.sourceforge.io/Reference/InstallDir +!define PLACEHOLDER_INSTALL_DIR "placeholder\${PRODUCTNAME}" +InstallDir "${PLACEHOLDER_INSTALL_DIR}" + VIProductVersion "${VERSIONWITHBUILD}" VIAddVersionKey "ProductName" "${PRODUCTNAME}" VIAddVersionKey "FileDescription" "${SHORTDESCRIPTION}" @@ -388,7 +394,7 @@ Function .onInit !insertmacro SetContext - ${If} $INSTDIR == "" + ${If} $INSTDIR == "${PLACEHOLDER_INSTALL_DIR}" ; Set default install location !if "${INSTALLMODE}" == "perMachine" ${If} ${RunningX64}