From b1b543183801bd298e0e91d1520846b895bbc7b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20M=C3=B6sner?= Date: Tue, 31 May 2022 15:03:39 +0200 Subject: [PATCH] feat: add installDir variable for NsisUpdater --- .changeset/curly-oranges-attack.md | 5 +++++ docs/api/electron-builder.md | 3 +++ packages/electron-updater/src/AppUpdater.ts | 6 ++++++ packages/electron-updater/src/NsisUpdater.ts | 5 +++++ 4 files changed, 19 insertions(+) create mode 100644 .changeset/curly-oranges-attack.md diff --git a/.changeset/curly-oranges-attack.md b/.changeset/curly-oranges-attack.md new file mode 100644 index 00000000000..b9e493e251a --- /dev/null +++ b/.changeset/curly-oranges-attack.md @@ -0,0 +1,5 @@ +--- +"electron-updater": minor +--- + +Add installDir property for NsisUpdater. Now is it posible change install folder from AppUpdater. diff --git a/docs/api/electron-builder.md b/docs/api/electron-builder.md index 0c7b364923c..961424f6e0d 100644 --- a/docs/api/electron-builder.md +++ b/docs/api/electron-builder.md @@ -1599,6 +1599,9 @@ return path.join(target.outDir, __${target.name}-${getArtifactArchName(arc

Currently false to prevent breaking the current API, but it should be changed to default true at some point that breaking changes are allowed.

  • +

    installDir = '' String - NSIS updater only - Install folder for NSIS updater

    +
  • +
  • currentVersion SemVer - The current application version.

  • diff --git a/packages/electron-updater/src/AppUpdater.ts b/packages/electron-updater/src/AppUpdater.ts index 25dd7212878..c3f3335e9af 100644 --- a/packages/electron-updater/src/AppUpdater.ts +++ b/packages/electron-updater/src/AppUpdater.ts @@ -86,6 +86,12 @@ export abstract class AppUpdater extends (EventEmitter as new () => TypedEmitter disableWebInstaller = false + /** + * Install dir for Nsis Updater + * + */ + installDir = '' + /** * The current application version. */ diff --git a/packages/electron-updater/src/NsisUpdater.ts b/packages/electron-updater/src/NsisUpdater.ts index 5cf8c2e82db..f18730af32f 100644 --- a/packages/electron-updater/src/NsisUpdater.ts +++ b/packages/electron-updater/src/NsisUpdater.ts @@ -109,6 +109,11 @@ export class NsisUpdater extends BaseUpdater { args.push("--force-run") } + if (this.installDir && typeof this.installDir === 'string') { + // maybe check if folder exists + args.push(`/D=${this.installDir}`) + } + const packagePath = this.downloadedUpdateHelper == null ? null : this.downloadedUpdateHelper.packageFile if (packagePath != null) { // only = form is supported