Skip to content

Commit

Permalink
fix(bundler): store and remove old main binary on updates if main bin…
Browse files Browse the repository at this point in the history
…ary name has change (#10962)
  • Loading branch information
amrbashir authored Sep 13, 2024
1 parent 00182eb commit b13cb20
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 2 deletions.
6 changes: 6 additions & 0 deletions .changes/store-main-binary-name.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"tauri-bundler": "patch:feat"
---

Store main binary name in registry for NSIS installer and delete old main binary on updates if the name changes.

5 changes: 3 additions & 2 deletions crates/tauri-bundler/src/bundle/windows/msi/wix.rs
Original file line number Diff line number Diff line change
Expand Up @@ -546,8 +546,9 @@ pub fn build_wix_app_installer(
let shortcut_guid = generate_package_guid(settings).to_string();
data.insert("shortcut_guid", to_json(shortcut_guid.as_str()));

let app_exe_name = settings.main_binary_name().to_string();
data.insert("app_exe_name", to_json(app_exe_name));
// Note: `main_binary_name` is not used in our template but we keep it as it is potentially useful for custom temples
let main_binary_name = settings.main_binary_name().to_string();
data.insert("main_binary_name", to_json(&main_binary_name));

let binaries = generate_binaries_data(settings)?;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -636,6 +636,15 @@ Section Install
WriteRegStr SHCTX "${UNINSTKEY}" $MultiUser.InstallMode 1
!endif

; Remove old main binary if it doesn't match new main binary name
ReadRegStr $0 SHCTX "${UNINSTKEY}" "MainBinaryName"
${If} $0 != "${MAINBINARYNAME}.exe"
Delete "$INSTDIR\$0"
${EndIf}

; Save current MAINBINARYNAME for future updates
WriteRegStr SHCTX "${UNINSTKEY}" "MainBinaryName" "${MAINBINARYNAME}.exe"

; Registry information for add/remove programs
WriteRegStr SHCTX "${UNINSTKEY}" "DisplayName" "${PRODUCTNAME}"
WriteRegStr SHCTX "${UNINSTKEY}" "DisplayIcon" "$\"$INSTDIR\${MAINBINARYNAME}.exe$\""
Expand Down

0 comments on commit b13cb20

Please sign in to comment.