diff --git a/.changeset/purple-phones-sin.md b/.changeset/purple-phones-sin.md
new file mode 100644
index 00000000000..dfdbf576b8e
--- /dev/null
+++ b/.changeset/purple-phones-sin.md
@@ -0,0 +1,5 @@
+---
+"app-builder-lib": patch
+---
+
+fix: reset `GYP_MSVS_VERSION` for multi-arch builds before `beforePack`
diff --git a/.github/issue_template.md b/.github/issue_template.md
index 14a6f95d2f8..a44a3a2674f 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -19,4 +19,3 @@ issue_labeler_regex_version=0
* **Target**:
-
diff --git a/docs/configuration/configuration.md b/docs/configuration/configuration.md
index 00a4c21c1c2..3360d6b0a31 100644
--- a/docs/configuration/configuration.md
+++ b/docs/configuration/configuration.md
@@ -66,7 +66,7 @@ Env file `electron-builder.env` in the current dir ([example](https://github.com
linux
LinuxConfiguration - Options related to how build Linux targets.
-deb
DebOptions - Debian package options.
+deb
DebOptions - Debian package options.
snap
SnapOptions - Snap options.
appImage
AppImageOptions - AppImage options.
flatpak
FlatpakOptions - Flatpak options.
diff --git a/docs/generated/PlatformSpecificBuildOptions.md b/docs/generated/PlatformSpecificBuildOptions.md
index 02c81210cba..f52250ac0ca 100644
--- a/docs/generated/PlatformSpecificBuildOptions.md
+++ b/docs/generated/PlatformSpecificBuildOptions.md
@@ -92,6 +92,7 @@
releaseNotes
String | “undefined” - The release notes.
releaseNotesFile
String | “undefined” - The path to release notes file. Defaults to release-notes-${platform}.md
(where platform
it is current platform — mac
, linux
or windows
) or release-notes.md
in the build resources.
releaseDate
String - The release date.
+vendor
Object<String, any> | “undefined” - Vendor specific information.
diff --git a/packages/app-builder-lib/scheme.json b/packages/app-builder-lib/scheme.json
index ca223ced41f..fd47f9365e4 100644
--- a/packages/app-builder-lib/scheme.json
+++ b/packages/app-builder-lib/scheme.json
@@ -4876,8 +4876,15 @@
]
},
"vendor": {
- "description": "Vendor-specific informaton",
- "type": "object"
+ "anyOf": [
+ {
+ "typeof": "function"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Vendor specific information."
}
},
"type": "object"
@@ -7078,4 +7085,4 @@
}
},
"type": "object"
-}
+}
\ No newline at end of file
diff --git a/packages/app-builder-lib/src/options/PlatformSpecificBuildOptions.ts b/packages/app-builder-lib/src/options/PlatformSpecificBuildOptions.ts
index cbe2a158411..d5969b7b0ae 100644
--- a/packages/app-builder-lib/src/options/PlatformSpecificBuildOptions.ts
+++ b/packages/app-builder-lib/src/options/PlatformSpecificBuildOptions.ts
@@ -147,7 +147,7 @@ export interface ReleaseInfo {
/**
* Vendor specific information.
*/
- vendor?: Record | null
+ vendor?: { [key: string]: any } | null
}
/**
diff --git a/packages/app-builder-lib/src/platformPackager.ts b/packages/app-builder-lib/src/platformPackager.ts
index 1ae8e703443..37e579e0e94 100644
--- a/packages/app-builder-lib/src/platformPackager.ts
+++ b/packages/app-builder-lib/src/platformPackager.ts
@@ -201,6 +201,9 @@ export abstract class PlatformPackager
return
}
+ // Due to node-gyp rewriting GYP_MSVS_VERSION when reused across the same session, we must reset the env var: https://github.com/electron-userland/electron-builder/issues/7256
+ delete process.env.GYP_MSVS_VERSION
+
const beforePack = resolveFunction(this.config.beforePack, "beforePack")
if (beforePack != null) {
await beforePack({
diff --git a/scripts/jsdoc2md2html.js b/scripts/jsdoc2md2html.js
index 68cd56bbf54..9c053e1ea11 100644
--- a/scripts/jsdoc2md2html.js
+++ b/scripts/jsdoc2md2html.js
@@ -188,7 +188,7 @@ async function render2(files, jsdoc2MdOptions) {
return "[AppImageOptions](/configuration/linux#appimageoptions)"
}
if (types.some(it => it.endsWith("DebOptions"))) {
- return "[DebOptions](/configuration/linux#de)"
+ return "[DebOptions](/configuration/linux#deb)"
}
if (types.some(it => it.endsWith("LinuxTargetSpecificOptions"))) {
return "[LinuxTargetSpecificOptions](/configuration/linux#LinuxTargetSpecificOptions)"