feat!: Update to Squirrel.Windows 2.0.1 (#369)

* Update Squirrel to 2.0.1

* Add 7-Zip for arm64

* Change script from postinstall to install

* Optimize 7-Zip script

* Some fixes for 7-Zip arch detection

Co-authored-by: Dennis Ameling <dennis@dennisameling.com>
This commit is contained in:
Anaïs Betts 2021-02-18 23:17:09 +01:00 коммит произвёл GitHub
Родитель 7aacb15f70
Коммит f03161fe5e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
20 изменённых файлов: 38 добавлений и 9 удалений

2
.gitignore поставляемый
Просмотреть файл

@ -8,3 +8,5 @@ SquirrelSetup.log
.node-version
.DS_Store
spec/fixtures/app/Update.exe
vendor/7z.dll
vendor/7z.exe

Просмотреть файл

@ -5,3 +5,5 @@ appveyor.yml
.npmignore
.babelrc
.eslintrc
vendor/7z.dll
vendor/7z.exe

Просмотреть файл

@ -10,6 +10,7 @@
"url": "https://github.com/electron/windows-installer"
},
"scripts": {
"install": "node ./script/select-7z-arch.js",
"build": "tsc",
"prepublish": "npm run build",
"lint": "eslint --ext .ts src spec",

23
script/select-7z-arch.js Normal file
Просмотреть файл

@ -0,0 +1,23 @@
const fs = require('fs');
const os = require('os');
/**
* Even if we're cross-compiling for a different arch like arm64,
* we still need to use the 7-Zip executable for the host arch
*/
const arch = os.arch;
console.log('Selecting 7-Zip for arch ' + arch);
// Copy the 7-Zip executable for the configured architecture.
try {
fs.copyFileSync('vendor/7z-' + arch + '.exe', 'vendor/7z.exe');
} catch (err) {
throw err;
}
try {
fs.copyFileSync('vendor/7z-' + arch + '.dll', 'vendor/7z.dll');
} catch (err) {
throw err;
}

Двоичные данные
vendor/7z-arm64.dll поставляемый Normal file

Двоичный файл не отображается.

Двоичные данные
vendor/7z-arm64.exe поставляемый Normal file

Двоичный файл не отображается.

0
vendor/7z.dll → vendor/7z-x64.dll поставляемый
Просмотреть файл

0
vendor/7z.exe → vendor/7z-x64.exe поставляемый
Просмотреть файл

Двоичные данные
vendor/Setup.exe поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/Setup.pdb поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/Squirrel-Mono.exe поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/Squirrel-Mono.pdb поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/Squirrel.exe поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/Squirrel.pdb поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/StubExecutable.exe поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/SyncReleases.exe поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/SyncReleases.pdb поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/WriteZipToSetup.exe поставляемый

Двоичный файл не отображается.

Двоичные данные
vendor/WriteZipToSetup.pdb поставляемый

Двоичный файл не отображается.

19
vendor/template.wxs поставляемый
Просмотреть файл

@ -1,8 +1,9 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="*" Name="{{Title}} Machine-Wide Installer" Language="1033" Version="!(bind.FileVersion.{{Id}}.exe)" UpgradeCode="{{IdAsGuid1}}" Manufacturer="{{Author}}">
<Product Id="*" Name="{{Title}} Deployment Tool" Language="1033" Codepage="{{Codepage}}" Version="!(bind.FileVersion.{{Id}}.exe)" UpgradeCode="{{IdAsGuid1}}" Manufacturer="{{Author}}">
<Package Description="#Description" Comments="Comments" InstallerVersion="200" Compressed="yes"/>
<Media Id="1" Cabinet="contents.cab" EmbedCab="yes" CompressionLevel="high"/>
<Package Description="This package installs a deployment tool for {{Title}}. Not {{Title}} itself. {{Title}} is only installed if a user logs into the machine." InstallScope="perMachine" Comments="Comments" InstallerVersion="200" Compressed="yes" Platform="{{Platform}}"/>
<MajorUpgrade AllowSameVersionUpgrades="yes" DowngradeErrorMessage="A later version of this product is already installed. Setup will now exit."/>
<Media Id="1" Cabinet="contents.cab" EmbedCab="yes" CompressionLevel="high"/>
<PropertyRef Id="NETFRAMEWORK45" />
@ -11,21 +12,21 @@
</Condition>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="APPLICATIONROOTDIRECTORY" Name="{{Title}} Installer" />
<Directory Id="{{ProgramFilesFolder}}">
<Directory Id="APPLICATIONROOTDIRECTORY" Name="{{Title}} Deployment" />
</Directory>
</Directory>
<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
<Component Id="{{Id}}.exe" Guid="{{IdAsGuid2}}">
<File Id="{{Id}}.exe" Name="{{Id}}.exe" Source="./Setup.exe" KeyPath="yes" />
<Component Id="{{Id}}.exe" Guid="{{IdAsGuid2}}" Win64="{{Win64YesNo}}">
<File Id="{{Id}}.exe" Name="{{Id}}DeploymentTool.exe" Source="./Setup.exe" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="TARGETDIR">
<Component Id="RegistryEntries" Guid="{{IdAsGuid3}}">
<Component Id="RegistryEntries" Guid="{{IdAsGuid3}}" Win64="{{Win64YesNo}}">
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Run">
<RegistryValue Type="expandable" Name="{{Id}}MachineInstaller" Value="%ProgramFiles%\{{Title}} Installer\{{Id}}.exe --checkInstall" />
<RegistryValue Type="expandable" Name="{{Id}}Deployment" Value="&quot;[#{{Id}}.exe]&quot; --checkInstall" />
</RegistryKey>
</Component>
</DirectoryRef>