mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-01-31 00:35:19 +01:00
fix(bundler): store and remove old main binary on updates if main binary name has change (#10962)
This commit is contained in:
6
.changes/store-main-binary-name.md
Normal file
6
.changes/store-main-binary-name.md
Normal file
@@ -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.
|
||||
|
||||
@@ -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)?;
|
||||
|
||||
|
||||
@@ -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$\""
|
||||
|
||||
Reference in New Issue
Block a user