diff --git a/.changes/bundler-store-main-binary-name.md b/.changes/bundler-store-main-binary-name.md
new file mode 100644
index 00000000000..45d70827fc0
--- /dev/null
+++ b/.changes/bundler-store-main-binary-name.md
@@ -0,0 +1,5 @@
+---
+"tauri-bundler": "patch:feat"
+---
+
+Store main binary name in registry for NSIS and MSI installers. This will be used in future app updates to detect main binary name changes.
diff --git a/tooling/bundler/src/bundle/windows/msi/wix.rs b/tooling/bundler/src/bundle/windows/msi/wix.rs
index b05a6fc63f3..43f67e3952b 100644
--- a/tooling/bundler/src/bundle/windows/msi/wix.rs
+++ b/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)?;
diff --git a/tooling/bundler/src/bundle/windows/templates/installer.nsi b/tooling/bundler/src/bundle/windows/templates/installer.nsi
index 51dbc889cf0..5f58eef7152 100644
--- a/tooling/bundler/src/bundle/windows/templates/installer.nsi
+++ b/tooling/bundler/src/bundle/windows/templates/installer.nsi
@@ -571,6 +571,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$\""
diff --git a/tooling/bundler/src/bundle/windows/templates/main.wxs b/tooling/bundler/src/bundle/windows/templates/main.wxs
index 5145d21e549..d28e79ecc0b 100644
--- a/tooling/bundler/src/bundle/windows/templates/main.wxs
+++ b/tooling/bundler/src/bundle/windows/templates/main.wxs
@@ -118,6 +118,10 @@
+
+
+
+
diff --git a/tooling/cli/node/index.d.ts b/tooling/cli/node/index.d.ts
index b562ef74ab8..f86d192829a 100644
--- a/tooling/cli/node/index.d.ts
+++ b/tooling/cli/node/index.d.ts
@@ -3,5 +3,5 @@
/* auto-generated by NAPI-RS */
-export function run(args: Array, binName: string | undefined | null, callback: (...args: any[]) => any): void
-export function logError(error: string): void
+export declare function run(args: Array, binName: string | undefined | null, callback: (...args: any[]) => any): void
+export declare function logError(error: string): void