Forráskód Böngészése

feat(bundler/nsis): store main binary name to be used in registry for future updates (#10952)

* feat(bundler): store main binary name to be used in registry for furture updates

* revert wix changes as leftover binaries are fixed by https://github.com/tauri-apps/tauri/pull/10967
Amr Bashir 11 hónapja
szülő
commit
298f8ca584

+ 5 - 0
.changes/bundler-store-main-binary-name.md

@@ -0,0 +1,5 @@
+---
+"tauri-bundler": "patch:feat"
+---
+
+Store main binary name in registry for NSIS installer. This will be used in future app updates to detect main binary name changes.

+ 3 - 1
tooling/bundler/src/bundle/windows/msi/wix.rs

@@ -549,7 +549,9 @@ pub fn build_wix_app_installer(
   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: `app_exe_name` kept around to not break custom wix templates depending on it
+  data.insert("app_exe_name", to_json(&app_exe_name));
+  data.insert("main_binary_name", to_json(app_exe_name));
 
   let binaries = generate_binaries_data(settings)?;
 

+ 3 - 0
tooling/bundler/src/bundle/windows/templates/installer.nsi

@@ -570,6 +570,9 @@ Section Install
     WriteRegStr SHCTX "${UNINSTKEY}" $MultiUser.InstallMode 1
   !endif
 
+  ; Save current MAINBINARYNAME for future updates from v2 updater
+  WriteRegStr SHCTX "${UNINSTKEY}" "MainBinaryName" "${MAINBINARYNAME}.exe"
+
   ; Registry information for add/remove programs
   WriteRegStr SHCTX "${UNINSTKEY}" "DisplayName" "${PRODUCTNAME}"
   WriteRegStr SHCTX "${UNINSTKEY}" "DisplayIcon" "$\"$INSTDIR\${MAINBINARYNAME}.exe$\""

+ 2 - 2
tooling/cli/node/index.d.ts

@@ -3,5 +3,5 @@
 
 /* auto-generated by NAPI-RS */
 
-export function run(args: Array<string>, binName: string | undefined | null, callback: (...args: any[]) => any): void
-export function logError(error: string): void
+export declare function run(args: Array<string>, binName: string | undefined | null, callback: (...args: any[]) => any): void
+export declare function logError(error: string): void