app-builder-lib 21.1.6 → 22.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/electron-osx-sign/util-provisioning-profiles.js +17 -5
  2. package/out/appInfo.d.ts +10 -10
  3. package/out/asar/asar.js +3 -1
  4. package/out/asar/asar.js.map +1 -1
  5. package/out/asar/asarUtil.js +3 -1
  6. package/out/asar/asarUtil.js.map +1 -1
  7. package/out/asar/integrity.js +3 -1
  8. package/out/asar/integrity.js.map +1 -1
  9. package/out/asar/unpackDetector.js +3 -1
  10. package/out/asar/unpackDetector.js.map +1 -1
  11. package/out/codeSign/codesign.js +3 -1
  12. package/out/codeSign/codesign.js.map +1 -1
  13. package/out/codeSign/macCodeSign.js +3 -1
  14. package/out/codeSign/macCodeSign.js.map +1 -1
  15. package/out/codeSign/windowsCodeSign.js +7 -5
  16. package/out/codeSign/windowsCodeSign.js.map +1 -1
  17. package/out/electron/ElectronFramework.d.ts +1 -1
  18. package/out/electron/ElectronFramework.js +3 -1
  19. package/out/electron/ElectronFramework.js.map +1 -1
  20. package/out/electron/electronMac.js +52 -8
  21. package/out/electron/electronMac.js.map +1 -1
  22. package/out/electron/electronVersion.js +3 -1
  23. package/out/electron/electronVersion.js.map +1 -1
  24. package/out/fileMatcher.js +3 -1
  25. package/out/fileMatcher.js.map +1 -1
  26. package/out/fileTransformer.js +3 -1
  27. package/out/fileTransformer.js.map +1 -1
  28. package/out/forge-maker.js +3 -1
  29. package/out/forge-maker.js.map +1 -1
  30. package/out/frameworks/LibUiFramework.js +3 -1
  31. package/out/frameworks/LibUiFramework.js.map +1 -1
  32. package/out/linuxPackager.d.ts +1 -1
  33. package/out/macPackager.d.ts +2 -1
  34. package/out/macPackager.js +18 -8
  35. package/out/macPackager.js.map +1 -1
  36. package/out/options/SnapOptions.d.ts +5 -0
  37. package/out/options/linuxOptions.d.ts +4 -0
  38. package/out/options/pkgOptions.d.ts +4 -0
  39. package/out/packager.d.ts +11 -11
  40. package/out/packager.js +5 -3
  41. package/out/packager.js.map +1 -1
  42. package/out/platformPackager.d.ts +10 -10
  43. package/out/platformPackager.js +3 -1
  44. package/out/platformPackager.js.map +1 -1
  45. package/out/presets/rectCra.js +3 -1
  46. package/out/presets/rectCra.js.map +1 -1
  47. package/out/publish/PublishManager.d.ts +2 -0
  48. package/out/publish/PublishManager.js +5 -3
  49. package/out/publish/PublishManager.js.map +1 -1
  50. package/out/publish/SnapStorePublisher.js +3 -1
  51. package/out/publish/SnapStorePublisher.js.map +1 -1
  52. package/out/publish/s3/BaseS3Publisher.js +3 -1
  53. package/out/publish/s3/BaseS3Publisher.js.map +1 -1
  54. package/out/publish/updateInfoBuilder.js +4 -2
  55. package/out/publish/updateInfoBuilder.js.map +1 -1
  56. package/out/remoteBuilder/ProjectInfoManager.js +3 -1
  57. package/out/remoteBuilder/ProjectInfoManager.js.map +1 -1
  58. package/out/remoteBuilder/RemoteBuilder.js +4 -2
  59. package/out/remoteBuilder/RemoteBuilder.js.map +1 -1
  60. package/out/remoteBuilder/builder-cli.js +4 -2
  61. package/out/remoteBuilder/builder-cli.js.map +1 -1
  62. package/out/targets/AppImageTarget.js +4 -2
  63. package/out/targets/AppImageTarget.js.map +1 -1
  64. package/out/targets/AppxTarget.js +19 -3
  65. package/out/targets/AppxTarget.js.map +1 -1
  66. package/out/targets/ArchiveTarget.js +3 -1
  67. package/out/targets/ArchiveTarget.js.map +1 -1
  68. package/out/targets/LinuxTargetHelper.d.ts +2 -2
  69. package/out/targets/LinuxTargetHelper.js +8 -2
  70. package/out/targets/LinuxTargetHelper.js.map +1 -1
  71. package/out/targets/MsiTarget.js +5 -3
  72. package/out/targets/MsiTarget.js.map +1 -1
  73. package/out/targets/archive.js +3 -1
  74. package/out/targets/archive.js.map +1 -1
  75. package/out/targets/differentialUpdateInfoBuilder.js +4 -2
  76. package/out/targets/differentialUpdateInfoBuilder.js.map +1 -1
  77. package/out/targets/fpm.js +5 -3
  78. package/out/targets/fpm.js.map +1 -1
  79. package/out/targets/nsis/NsisTarget.d.ts +5 -5
  80. package/out/targets/nsis/NsisTarget.js +24 -11
  81. package/out/targets/nsis/NsisTarget.js.map +1 -1
  82. package/out/targets/nsis/WebInstallerTarget.d.ts +2 -2
  83. package/out/targets/nsis/nsisLang.js +3 -1
  84. package/out/targets/nsis/nsisLang.js.map +1 -1
  85. package/out/targets/nsis/nsisLicense.js +3 -1
  86. package/out/targets/nsis/nsisLicense.js.map +1 -1
  87. package/out/targets/nsis/nsisOptions.d.ts +4 -0
  88. package/out/targets/nsis/nsisUtil.d.ts +3 -0
  89. package/out/targets/nsis/nsisUtil.js +195 -4
  90. package/out/targets/nsis/nsisUtil.js.map +1 -1
  91. package/out/targets/pkg.js +15 -2
  92. package/out/targets/pkg.js.map +1 -1
  93. package/out/targets/snap.js +10 -3
  94. package/out/targets/snap.js.map +1 -1
  95. package/out/targets/targetFactory.d.ts +1 -1
  96. package/out/targets/targetUtil.js +3 -1
  97. package/out/targets/targetUtil.js.map +1 -1
  98. package/out/util/AppFileWalker.js +3 -1
  99. package/out/util/AppFileWalker.js.map +1 -1
  100. package/out/util/NodeModuleCopyHelper.js +3 -1
  101. package/out/util/NodeModuleCopyHelper.js.map +1 -1
  102. package/out/util/appBuilder.js +1 -1
  103. package/out/util/appBuilder.js.map +1 -1
  104. package/out/util/appFileCopier.js +15 -18
  105. package/out/util/appFileCopier.js.map +1 -1
  106. package/out/util/bundledTool.js +1 -1
  107. package/out/util/bundledTool.js.map +1 -1
  108. package/out/util/cacheManager.js +3 -1
  109. package/out/util/cacheManager.js.map +1 -1
  110. package/out/util/config.js +4 -2
  111. package/out/util/config.js.map +1 -1
  112. package/out/util/filter.js +3 -1
  113. package/out/util/filter.js.map +1 -1
  114. package/out/util/hash.js +1 -1
  115. package/out/util/hash.js.map +1 -1
  116. package/out/util/license.js +3 -1
  117. package/out/util/license.js.map +1 -1
  118. package/out/util/macosVersion.js +3 -1
  119. package/out/util/macosVersion.js.map +1 -1
  120. package/out/util/packageMetadata.js +3 -1
  121. package/out/util/packageMetadata.js.map +1 -1
  122. package/out/util/pathManager.js +3 -1
  123. package/out/util/pathManager.js.map +1 -1
  124. package/out/util/repositoryInfo.js +3 -1
  125. package/out/util/repositoryInfo.js.map +1 -1
  126. package/out/util/yarn.js +14 -4
  127. package/out/util/yarn.js.map +1 -1
  128. package/out/vm/WineVm.js +3 -1
  129. package/out/vm/WineVm.js.map +1 -1
  130. package/out/vm/vm.d.ts +1 -1
  131. package/out/vm/vm.js +3 -1
  132. package/out/vm/vm.js.map +1 -1
  133. package/out/winPackager.d.ts +2 -2
  134. package/out/winPackager.js +4 -2
  135. package/out/winPackager.js.map +1 -1
  136. package/package.json +9 -9
  137. package/scheme.json +155 -1
  138. package/templates/linux/after-install.tpl +4 -1
  139. package/templates/nsis/assistedInstaller.nsh +6 -0
  140. package/templates/nsis/common.nsh +16 -7
  141. package/templates/nsis/include/extractAppPackage.nsh +46 -12
  142. package/templates/nsis/include/installer.nsh +43 -28
  143. package/templates/nsis/include/webPackage.nsh +19 -7
  144. package/templates/nsis/messages.yml +1 -1
  145. package/templates/nsis/multiUser.nsh +1 -1
  146. package/templates/nsis/portable.nsi +48 -11
package/scheme.json CHANGED
@@ -29,6 +29,20 @@
29
29
  "desktop": {
30
30
  "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
31
31
  },
32
+ "executableArgs": {
33
+ "anyOf": [
34
+ {
35
+ "items": {
36
+ "type": "string"
37
+ },
38
+ "type": "array"
39
+ },
40
+ {
41
+ "type": "null"
42
+ }
43
+ ],
44
+ "description": "The executable parameters. Pass to executableName"
45
+ },
32
46
  "license": {
33
47
  "description": "The path to EULA license file. Defaults to `license.txt` or `eula.txt` (or uppercase variants). Only plain text is supported.",
34
48
  "type": [
@@ -373,6 +387,10 @@
373
387
  "string"
374
388
  ]
375
389
  },
390
+ "requestHeaders": {
391
+ "$ref": "#/definitions/OutgoingHttpHeaders",
392
+ "description": "Any custom request headers"
393
+ },
376
394
  "token": {
377
395
  "type": [
378
396
  "null",
@@ -423,6 +441,10 @@
423
441
  }
424
442
  ]
425
443
  },
444
+ "requestHeaders": {
445
+ "$ref": "#/definitions/OutgoingHttpHeaders",
446
+ "description": "Any custom request headers"
447
+ },
426
448
  "updaterCacheDirName": {
427
449
  "type": [
428
450
  "null",
@@ -505,6 +527,20 @@
505
527
  "desktop": {
506
528
  "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
507
529
  },
530
+ "executableArgs": {
531
+ "anyOf": [
532
+ {
533
+ "items": {
534
+ "type": "string"
535
+ },
536
+ "type": "array"
537
+ },
538
+ {
539
+ "type": "null"
540
+ }
541
+ ],
542
+ "description": "The executable parameters. Pass to executableName"
543
+ },
508
544
  "fpm": {
509
545
  "anyOf": [
510
546
  {
@@ -1029,6 +1065,10 @@
1029
1065
  }
1030
1066
  ]
1031
1067
  },
1068
+ "requestHeaders": {
1069
+ "$ref": "#/definitions/OutgoingHttpHeaders",
1070
+ "description": "Any custom request headers"
1071
+ },
1032
1072
  "updaterCacheDirName": {
1033
1073
  "type": [
1034
1074
  "null",
@@ -1141,6 +1181,10 @@
1141
1181
  "string"
1142
1182
  ]
1143
1183
  },
1184
+ "requestHeaders": {
1185
+ "$ref": "#/definitions/OutgoingHttpHeaders",
1186
+ "description": "Any custom request headers"
1187
+ },
1144
1188
  "token": {
1145
1189
  "description": "The access token to support auto-update from private github repositories. Never specify it in the configuration files. Only for [setFeedURL](/auto-update#appupdatersetfeedurloptions).",
1146
1190
  "type": [
@@ -1273,6 +1317,20 @@
1273
1317
  "string"
1274
1318
  ]
1275
1319
  },
1320
+ "executableArgs": {
1321
+ "anyOf": [
1322
+ {
1323
+ "items": {
1324
+ "type": "string"
1325
+ },
1326
+ "type": "array"
1327
+ },
1328
+ {
1329
+ "type": "null"
1330
+ }
1331
+ ],
1332
+ "description": "The executable parameters. Pass to executableName"
1333
+ },
1276
1334
  "executableName": {
1277
1335
  "description": "The executable name. Defaults to `productName`.\nCannot be specified per target, allowed only in the `linux`.",
1278
1336
  "type": [
@@ -1608,6 +1666,20 @@
1608
1666
  "desktop": {
1609
1667
  "description": "The [Desktop file](https://developer.gnome.org/integration-guide/stable/desktop-files.html.en) entries (name to value)."
1610
1668
  },
1669
+ "executableArgs": {
1670
+ "anyOf": [
1671
+ {
1672
+ "items": {
1673
+ "type": "string"
1674
+ },
1675
+ "type": "array"
1676
+ },
1677
+ {
1678
+ "type": "null"
1679
+ }
1680
+ ],
1681
+ "description": "The executable parameters. Pass to executableName"
1682
+ },
1611
1683
  "fpm": {
1612
1684
  "anyOf": [
1613
1685
  {
@@ -3484,6 +3556,25 @@
3484
3556
  },
3485
3557
  "type": "object"
3486
3558
  },
3559
+ "OutgoingHttpHeaders": {
3560
+ "additionalProperties": {
3561
+ "anyOf": [
3562
+ {
3563
+ "items": {
3564
+ "type": "string"
3565
+ },
3566
+ "type": "array"
3567
+ },
3568
+ {
3569
+ "type": [
3570
+ "string",
3571
+ "number"
3572
+ ]
3573
+ }
3574
+ ]
3575
+ },
3576
+ "type": "object"
3577
+ },
3487
3578
  "PkgBackgroundOptions": {
3488
3579
  "additionalProperties": false,
3489
3580
  "description": "Options for the background image in a PKG installer",
@@ -3740,6 +3831,20 @@
3740
3831
  "null",
3741
3832
  "string"
3742
3833
  ]
3834
+ },
3835
+ "mustClose": {
3836
+ "anyOf": [
3837
+ {
3838
+ "items": {
3839
+ "type": "string"
3840
+ },
3841
+ "type": "array"
3842
+ },
3843
+ {
3844
+ "type": "null"
3845
+ }
3846
+ ],
3847
+ "description": "Identifies applications that must be closed before the package is installed.\n\nCorresponds to [must-close](https://developer.apple.com/library/archive/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW77)"
3743
3848
  }
3744
3849
  },
3745
3850
  "type": "object"
@@ -3837,6 +3942,13 @@
3837
3942
  }
3838
3943
  ]
3839
3944
  },
3945
+ "splashImage": {
3946
+ "describe": "The image to show while the portable executable is extracting. This image must be a bitmap (`.bmp`) image.",
3947
+ "type": [
3948
+ "null",
3949
+ "string"
3950
+ ]
3951
+ },
3840
3952
  "requestExecutionLevel": {
3841
3953
  "default": "user",
3842
3954
  "description": "The [requested execution level](http://nsis.sourceforge.net/Reference/RequestExecutionLevel) for Windows.",
@@ -4037,6 +4149,10 @@
4037
4149
  "string"
4038
4150
  ]
4039
4151
  },
4152
+ "requestHeaders": {
4153
+ "$ref": "#/definitions/OutgoingHttpHeaders",
4154
+ "description": "Any custom request headers"
4155
+ },
4040
4156
  "storageClass": {
4041
4157
  "anyOf": [
4042
4158
  {
@@ -4108,6 +4224,11 @@
4108
4224
  ],
4109
4225
  "description": "The list of features that must be supported by the core in order for this snap to install."
4110
4226
  },
4227
+ "autoStart": {
4228
+ "default": false,
4229
+ "description": "Whether or not the snap should automatically start on login.",
4230
+ "type": "boolean"
4231
+ },
4111
4232
  "buildPackages": {
4112
4233
  "anyOf": [
4113
4234
  {
@@ -4170,6 +4291,20 @@
4170
4291
  ],
4171
4292
  "description": "The custom environment. Defaults to `{\"TMPDIR: \"$XDG_RUNTIME_DIR\"}`. If you set custom, it will be merged with default."
4172
4293
  },
4294
+ "executableArgs": {
4295
+ "anyOf": [
4296
+ {
4297
+ "items": {
4298
+ "type": "string"
4299
+ },
4300
+ "type": "array"
4301
+ },
4302
+ {
4303
+ "type": "null"
4304
+ }
4305
+ ],
4306
+ "description": "The executable parameters. Pass to executableName"
4307
+ },
4173
4308
  "grade": {
4174
4309
  "anyOf": [
4175
4310
  {
@@ -4375,6 +4510,10 @@
4375
4510
  }
4376
4511
  ]
4377
4512
  },
4513
+ "requestHeaders": {
4514
+ "$ref": "#/definitions/OutgoingHttpHeaders",
4515
+ "description": "Any custom request headers"
4516
+ },
4378
4517
  "updaterCacheDirName": {
4379
4518
  "type": [
4380
4519
  "null",
@@ -4456,6 +4595,10 @@
4456
4595
  "description": "The region (e.g. `nyc3`).",
4457
4596
  "type": "string"
4458
4597
  },
4598
+ "requestHeaders": {
4599
+ "$ref": "#/definitions/OutgoingHttpHeaders",
4600
+ "description": "Any custom request headers"
4601
+ },
4459
4602
  "updaterCacheDirName": {
4460
4603
  "type": [
4461
4604
  "null",
@@ -5533,6 +5676,17 @@
5533
5676
  ],
5534
5677
  "description": "MAS (Mac Application Store) options."
5535
5678
  },
5679
+ "masDev": {
5680
+ "anyOf": [
5681
+ {
5682
+ "$ref": "#/definitions/MasConfiguration"
5683
+ },
5684
+ {
5685
+ "type": "null"
5686
+ }
5687
+ ],
5688
+ "description": "MAS (Mac Application Store) development options (`mas-dev` target)."
5689
+ },
5536
5690
  "msi": {
5537
5691
  "anyOf": [
5538
5692
  {
@@ -5831,4 +5985,4 @@
5831
5985
  }
5832
5986
  },
5833
5987
  "type": "object"
5834
- }
5988
+ }
@@ -3,5 +3,8 @@
3
3
  # Link to the binary
4
4
  ln -sf '/opt/${productFilename}/${executable}' '/usr/bin/${executable}'
5
5
 
6
+ # SUID chrome-sandbox for Electron 5+
7
+ chmod 4755 '/opt/${productFilename}/chrome-sandbox' || true
8
+
6
9
  update-mime-database /usr/share/mime || true
7
- update-desktop-database /usr/share/applications || true
10
+ update-desktop-database /usr/share/applications || true
@@ -52,6 +52,12 @@
52
52
  ${endIf}
53
53
  FunctionEnd
54
54
  !endif
55
+
56
+ # after change installation directory and before install start, you can show custom page here.
57
+ !ifmacrodef customPageAfterChangeDir
58
+ !insertmacro customPageAfterChangeDir
59
+ !endif
60
+
55
61
  !insertmacro MUI_PAGE_INSTFILES
56
62
  !insertmacro MUI_PAGE_FINISH
57
63
  !else
@@ -23,15 +23,24 @@ Name "${PRODUCT_NAME}"
23
23
  Quit
24
24
  ${EndIf}
25
25
 
26
- !ifdef APP_64
26
+ !ifdef APP_ARM64
27
27
  ${If} ${RunningX64}
28
28
  SetRegView 64
29
- ${Else}
30
- !ifndef APP_32
31
- MessageBox MB_OK|MB_ICONEXCLAMATION "$(x64WinRequired)"
32
- Quit
33
- !endif
34
29
  ${EndIf}
30
+ ${If} ${IsNativeARM64}
31
+ SetRegView 64
32
+ ${EndIf}
33
+ !else
34
+ !ifdef APP_64
35
+ ${If} ${RunningX64}
36
+ SetRegView 64
37
+ ${Else}
38
+ !ifndef APP_32
39
+ MessageBox MB_OK|MB_ICONEXCLAMATION "$(x64WinRequired)"
40
+ Quit
41
+ !endif
42
+ ${EndIf}
43
+ !endif
35
44
  !endif
36
45
  !macroend
37
46
 
@@ -89,4 +98,4 @@ Name "${PRODUCT_NAME}"
89
98
  ${endif}
90
99
 
91
100
  ${StdUtils.ExecShellAsUser} $0 "$launchLink" "open" "$startAppArgs"
92
- !macroend
101
+ !macroend
@@ -6,17 +6,13 @@
6
6
  Var /GLOBAL packageArch
7
7
 
8
8
  !ifdef APP_64
9
- StrCpy $packageArch "64"
9
+ !ifdef APP_ARM64
10
+ StrCpy $packageArch "ARM64"
11
+ !else
12
+ StrCpy $packageArch "64"
13
+ !endif
10
14
 
11
- !ifdef APP_32
12
- ${if} ${RunningX64}
13
- !insertmacro x64_app_files
14
- ${else}
15
- !insertmacro ia32_app_files
16
- ${endIf}
17
- !else
18
- !insertmacro x64_app_files
19
- !endif
15
+ !insertmacro compute_files_for_current_arch
20
16
  !else
21
17
  !insertmacro ia32_app_files
22
18
  !endif
@@ -32,7 +28,11 @@
32
28
  !endif
33
29
 
34
30
  # after decompression
35
- ${if} $packageArch == "64"
31
+ ${if} $packageArch == "ARM64"
32
+ !ifmacrodef customFiles_arm64
33
+ !insertmacro customFiles_arm64
34
+ !endif
35
+ ${elseif} $packageArch == "64"
36
36
  !ifmacrodef customFiles_x64
37
37
  !insertmacro customFiles_x64
38
38
  !endif
@@ -43,6 +43,40 @@
43
43
  ${endIf}
44
44
  !macroend
45
45
 
46
+ !macro compute_files_for_current_arch
47
+ !ifdef APP_32
48
+ !ifdef APP_ARM64
49
+ ${if} ${IsNativeARM64}
50
+ !insertmacro arm64_app_files
51
+ ${elseif} ${RunningX64}
52
+ !insertmacro x64_app_files
53
+ ${else}
54
+ !insertmacro ia32_app_files
55
+ ${endIf}
56
+ !else
57
+ ${if} ${RunningX64}
58
+ !insertmacro x64_app_files
59
+ ${else}
60
+ !insertmacro ia32_app_files
61
+ ${endIf}
62
+ !endif
63
+ !else
64
+ !ifdef APP_ARM64
65
+ ${if} ${IsNativeARM64}
66
+ !insertmacro arm64_app_files
67
+ ${else}
68
+ !insertmacro x64_app_files
69
+ ${endIf}
70
+ !else
71
+ !insertmacro x64_app_files
72
+ !endif
73
+ !endif
74
+ !macroend
75
+
76
+ !macro arm64_app_files
77
+ File /oname=$PLUGINSDIR\app-arm64.${COMPRESSION_METHOD} "${APP_ARM64}"
78
+ !macroend
79
+
46
80
  !macro x64_app_files
47
81
  File /oname=$PLUGINSDIR\app-64.${COMPRESSION_METHOD} "${APP_64}"
48
82
  !macroend
@@ -54,4 +88,4 @@
54
88
 
55
89
  !macro extractUsing7za FILE
56
90
  Nsis7z::Extract "${FILE}"
57
- !macroend
91
+ !macroend
@@ -18,13 +18,26 @@
18
18
  ${if} $packageFile == ""
19
19
  !ifdef APP_64_NAME
20
20
  !ifdef APP_32_NAME
21
- ${if} ${RunningX64}
22
- StrCpy $packageFile "${APP_64_NAME}"
23
- StrCpy $1 "${APP_64_HASH}"
24
- ${else}
25
- StrCpy $packageFile "${APP_32_NAME}"
26
- StrCpy $1 "${APP_32_HASH}"
27
- ${endif}
21
+ !ifdef APP_ARM64_NAME
22
+ ${if} ${IsNativeARM64}
23
+ StrCpy $packageFile "${APP_ARM64_NAME}"
24
+ StrCpy $1 "${APP_ARM64_HASH}"
25
+ ${elseif} ${IsNativeAMD64}
26
+ StrCpy $packageFile "${APP_64_NAME}"
27
+ StrCpy $1 "${APP_64_HASH}"
28
+ ${else}
29
+ StrCpy $packageFile "${APP_32_NAME}"
30
+ StrCpy $1 "${APP_32_HASH}"
31
+ ${endif}
32
+ !else
33
+ ${if} ${RunningX64}
34
+ StrCpy $packageFile "${APP_64_NAME}"
35
+ StrCpy $1 "${APP_64_HASH}"
36
+ ${else}
37
+ StrCpy $packageFile "${APP_32_NAME}"
38
+ StrCpy $1 "${APP_32_HASH}"
39
+ ${endif}
40
+ !endif
28
41
  !else
29
42
  StrCpy $packageFile "${APP_64_NAME}"
30
43
  StrCpy $1 "${APP_64_HASH}"
@@ -88,20 +101,20 @@
88
101
  !macroend
89
102
 
90
103
  !macro registryAddInstallInfo
91
- WriteRegStr SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" InstallLocation "$INSTDIR"
92
- WriteRegStr SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" KeepShortcuts "true"
104
+ WriteRegStr SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" InstallLocation "$INSTDIR"
105
+ WriteRegStr SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" KeepShortcuts "true"
93
106
  WriteRegStr SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" ShortcutName "${SHORTCUT_NAME}"
94
107
  !ifdef MENU_FILENAME
95
108
  WriteRegStr SHELL_CONTEXT "${INSTALL_REGISTRY_KEY}" MenuDirectory "${MENU_FILENAME}"
96
109
  !endif
97
110
 
98
- ${if} $installMode == "all"
99
- StrCpy $0 "/allusers"
100
- StrCpy $1 ""
101
- ${else}
102
- StrCpy $0 "/currentuser"
103
- StrCpy $1 ""
104
- ${endIf}
111
+ ${if} $installMode == "all"
112
+ StrCpy $0 "/allusers"
113
+ StrCpy $1 ""
114
+ ${else}
115
+ StrCpy $0 "/currentuser"
116
+ StrCpy $1 ""
117
+ ${endIf}
105
118
 
106
119
  WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" DisplayName "${UNINSTALL_DISPLAY_NAME}$1"
107
120
  # https://github.com/electron-userland/electron-builder/issues/750
@@ -109,18 +122,19 @@
109
122
  WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" UninstallString '"$2" $0'
110
123
  WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" QuietUninstallString '"$2" $0 /S'
111
124
 
112
- WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "DisplayVersion" "${VERSION}"
113
- !ifdef UNINSTALLER_ICON
114
- WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "DisplayIcon" "$INSTDIR\uninstallerIcon.ico"
115
- !else
116
- WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "DisplayIcon" "$appExe,0"
117
- !endif
125
+ WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "DisplayVersion" "${VERSION}"
126
+ !ifdef UNINSTALLER_ICON
127
+ WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "DisplayIcon" "$INSTDIR\uninstallerIcon.ico"
128
+ !else
129
+ WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "DisplayIcon" "$appExe,0"
130
+ !endif
118
131
 
119
132
  !ifdef COMPANY_NAME
120
- WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "Publisher" "${COMPANY_NAME}"
121
- !endif
122
- WriteRegDWORD SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" NoModify 1
123
- WriteRegDWORD SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" NoRepair 1
133
+ WriteRegStr SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "Publisher" "${COMPANY_NAME}"
134
+ !endif
135
+
136
+ WriteRegDWORD SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" NoModify 1
137
+ WriteRegDWORD SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" NoRepair 1
124
138
 
125
139
  # allow user to define ESTIMATED_SIZE to avoid GetSize call
126
140
  !ifdef ESTIMATED_SIZE
@@ -129,7 +143,8 @@
129
143
  ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
130
144
  IntFmt $0 "0x%08X" $0
131
145
  !endif
132
- WriteRegDWORD SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "EstimatedSize" "$0"
146
+
147
+ WriteRegDWORD SHELL_CONTEXT "${UNINSTALL_REGISTRY_KEY}" "EstimatedSize" "$0"
133
148
  !macroend
134
149
 
135
150
  !macro cleanupOldMenuDirectory
@@ -209,4 +224,4 @@
209
224
  System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
210
225
  ${endIf}
211
226
  !endif
212
- !macroend
227
+ !macroend
@@ -8,11 +8,21 @@
8
8
  !ifdef APP_PACKAGE_URL_IS_INCOMLETE
9
9
  !ifdef APP_64_NAME
10
10
  !ifdef APP_32_NAME
11
- ${if} ${RunningX64}
12
- StrCpy $packageUrl "$packageUrl/${APP_64_NAME}"
13
- ${else}
14
- StrCpy $packageUrl "$packageUrl/${APP_32_NAME}"
15
- ${endif}
11
+ !ifdef APP_ARM64_NAME
12
+ ${if} ${IsNativeARM64}
13
+ StrCpy $packageUrl "$packageUrl/${APP_ARM64_NAME}"
14
+ ${elseif} ${IsNativeAMD64}
15
+ StrCpy $packageUrl "$packageUrl/${APP_64_NAME}"
16
+ ${else}
17
+ StrCpy $packageUrl "$packageUrl/${APP_32_NAME}"
18
+ ${endif}
19
+ !else
20
+ ${if} ${IsNativeAMD64} == true
21
+ StrCpy $packageUrl "$packageUrl/${APP_64_NAME}"
22
+ ${else}
23
+ StrCpy $packageUrl "$packageUrl/${APP_32_NAME}"
24
+ ${endif}
25
+ !endif
16
26
  !else
17
27
  StrCpy $packageUrl "$packageUrl/${APP_64_NAME}"
18
28
  !endif
@@ -21,7 +31,9 @@
21
31
  !endif
22
32
  !endif
23
33
 
24
- ${if} ${RunningX64}
34
+ ${if} ${IsNativeARM64}
35
+ StrCpy $packageArch "ARM64"
36
+ ${elseif} ${IsNativeAMD64}
25
37
  StrCpy $packageArch "64"
26
38
  ${else}
27
39
  StrCpy $packageArch "32"
@@ -49,4 +61,4 @@
49
61
  ${endif}
50
62
 
51
63
  StrCpy $packageFile "$PLUGINSDIR\package.7z"
52
- !macroend
64
+ !macroend
@@ -52,7 +52,7 @@ appRunning:
52
52
  hu: "${PRODUCT_NAME} éppen fut. \nKattiontson az «OK»-ra a bezárásához."
53
53
  pl: "${PRODUCT_NAME} jest otwarty. Aby zamknąć kliknij na OK."
54
54
  pt_BR: "${PRODUCT_NAME} está em execução.\nClique em OK para fechar."
55
- zh_CN: "${PRODUCT_NAME} 正在运行.\n点击 OK 关闭."
55
+ zh_CN: "${PRODUCT_NAME} 正在运行.\n点击“确定”关闭."
56
56
  tr_TR: "${PRODUCT_NAME} çalışıyor.\nKapatmak için Tamam'ı tıklayın."
57
57
  sv_SE: "${PRODUCT_NAME} körs. \nKlicka på OK för att stänga det."
58
58
  no: "${PRODUCT_NAME} kjører. \nKlikk OK for å lukke det."
@@ -6,7 +6,7 @@
6
6
 
7
7
  # allow user to define own custom
8
8
  !define /ifndef INSTALL_REGISTRY_KEY "Software\${APP_GUID}"
9
- !define /ifndef UNINSTALL_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\{${UNINSTALL_APP_KEY}}"
9
+ !define /ifndef UNINSTALL_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${UNINSTALL_APP_KEY}"
10
10
 
11
11
  # current Install Mode ("all" or "CurrentUser")
12
12
  Var installMode
@@ -7,26 +7,58 @@ WindowIcon Off
7
7
  AutoCloseWindow True
8
8
  RequestExecutionLevel ${REQUEST_EXECUTION_LEVEL}
9
9
 
10
- SilentInstall silent
11
-
12
10
  Function .onInit
11
+ SetSilent silent
12
+
13
13
  !insertmacro check64BitAndSetRegView
14
14
  FunctionEnd
15
15
 
16
+ Function .onGUIInit
17
+ InitPluginsDir
18
+
19
+ !ifdef SPLASH_IMAGE
20
+ File /oname=$PLUGINSDIR\splash.bmp "${SPLASH_IMAGE}"
21
+ BgImage::SetBg $PLUGINSDIR\splash.bmp
22
+ BgImage::Redraw
23
+ !endif
24
+ FunctionEnd
25
+
16
26
  Section
27
+ !ifdef SPLASH_IMAGE
28
+ HideWindow
29
+ !endif
30
+
17
31
  StrCpy $INSTDIR "$TEMP\${UNPACK_DIR_NAME}"
18
32
  RMDir /r $INSTDIR
19
- SetOutPath $INSTDIR
33
+ SetOutPath $INSTDIR
20
34
 
21
- !ifdef APP_DIR_64
22
- !ifdef APP_DIR_32
23
- ${if} ${RunningX64}
24
- File /r "${APP_DIR_64}\*.*"
25
- ${else}
26
- File /r "${APP_DIR_32}\*.*"
27
- ${endIf}
35
+ !ifdef APP_DIR_64
36
+ !ifdef APP_DIR_ARM64
37
+ !ifdef APP_DIR_32
38
+ ${if} ${IsNativeARM64}
39
+ File /r "${APP_DIR_ARM64}\*.*"
40
+ ${elseif} ${RunningX64}
41
+ File /r "${APP_DIR_64}\*.*"
42
+ ${else}
43
+ File /r "${APP_DIR_32}\*.*"
44
+ ${endIf}
45
+ !else
46
+ ${if} ${IsNativeARM64}
47
+ File /r "${APP_DIR_ARM64}\*.*"
48
+ ${else}
49
+ File /r "${APP_DIR_64}\*.*"
50
+ {endIf}
51
+ !endif
28
52
  !else
29
- File /r "${APP_DIR_64}\*.*"
53
+ !ifdef APP_DIR_32
54
+ ${if} ${RunningX64}
55
+ File /r "${APP_DIR_64}\*.*"
56
+ ${else}
57
+ File /r "${APP_DIR_32}\*.*"
58
+ ${endIf}
59
+ !else
60
+ File /r "${APP_DIR_64}\*.*"
61
+ !endif
30
62
  !endif
31
63
  !else
32
64
  !ifdef APP_DIR_32
@@ -40,6 +72,11 @@ Section
40
72
  System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("PORTABLE_EXECUTABLE_FILE", "$EXEPATH").r0'
41
73
  System::Call 'Kernel32::SetEnvironmentVariable(t, t)i ("PORTABLE_EXECUTABLE_APP_FILENAME", "${APP_FILENAME}").r0'
42
74
  ${StdUtils.GetAllParameters} $R0 0
75
+
76
+ !ifdef SPLASH_IMAGE
77
+ BgImage::Destroy
78
+ !endif
79
+
43
80
  ExecWait "$INSTDIR\${APP_EXECUTABLE_FILENAME} $R0" $0
44
81
  SetErrorLevel $0
45
82