Я пытался создать установщик Windows для своего приложения Electron с модулем electron-winstaller
, выполнив следующий код:
const createWindowsInstaller = require('electron-winstaller').createWindowsInstaller
const path = require('path')
getInstallerConfig()
.then(createWindowsInstaller)
.catch((error) => {
console.error(error.message || error)
process.exit(1)
})
function getInstallerConfig () {
const installerPath = path.join('.');
const releaseBuildsPath = path.join('..', '..', 'release-builds');
const assetsPath = path.join('..', '..', 'assets');
return Promise.resolve({
appDirectory: path.join(releaseBuildsPath, '[application name]-win32-x64'),
authors: '[my name]',
noMsi: true,
outputDirectory: installerPath,
exe: '[application name].exe',
setupExe: '[application name].exe',
setupIcon: path.join(assetsPath, 'demo.ico'),
})
}
Однако я получаю следующую ошибку:
Failed with exit code: 1
Output:
Attempting to build package from '[application name].nuspec'.
lib/net45/resources/app.asar
Stream was too long.
Сценарий, который я запустил для создания пакета windows, выглядит так:
electron-packager . [application name] --overwrite --asar --platform=win32 --arch=x64 --icon=assets/demo.ico --prune=true --out=release-builds
С созданным архивом asar
и установленным флагом prune
true
я непосмотрите любые другие варианты уменьшения размера app.asar
, который предположительно слишком велик.
Я также не совсем понимаю, где находится файл lib/net45/resources/app.asar
, показанный в приведенном выше сообщении об ошибке;в моей системе нет каталога с именем "lib" или "net45" (macOS Mojave).
Ниже приведен подробный результат запуска сценария с включенным отладочным выводом:
electron-windows-installer:main Using Mono: 'mono' +0ms
electron-windows-installer:main Using Wine: 'wine' +2ms
electron-windows-installer:main Created NuSpec file:
electron-windows-installer:main <?xml version="1.0" encoding="utf-8"?>
electron-windows-installer:main <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
electron-windows-installer:main <metadata>
electron-windows-installer:main <id>[application name]</id>
electron-windows-installer:main <title>[application name]</title>
electron-windows-installer:main <version>1.0.0</version>
electron-windows-installer:main <authors>tg</authors>
electron-windows-installer:main <owners>tg</owners>
electron-windows-installer:main <iconUrl>https://raw.githubusercontent.com/atom/electron/master/atom/browser/resources/win/atom.ico</iconUrl>
electron-windows-installer:main <requireLicenseAcceptance>false</requireLicenseAcceptance>
electron-windows-installer:main <description>A desktop vocabulary builder app</description>
electron-windows-installer:main <copyright>Copyright © 2019 tg</copyright>
electron-windows-installer:main </metadata>
electron-windows-installer:main <files>
electron-windows-installer:main <file src="locales/**" target="lib/net45/locales" />
electron-windows-installer:main <file src="resources/**" target="lib/net45/resources" />
electron-windows-installer:main <file src="*.bin" target="lib/net45" />
electron-windows-installer:main <file src="*.dll" target="lib/net45" />
electron-windows-installer:main <file src="*.pak" target="lib/net45" />
electron-windows-installer:main <file src="*.exe.config" target="lib/net45" />
electron-windows-installer:main <file src="*.exe.sig" target="lib/net45" />
electron-windows-installer:main <file src="icudtl.dat" target="lib/net45/icudtl.dat" />
electron-windows-installer:main <file src="Squirrel.exe" target="lib/net45/squirrel.exe" />
electron-windows-installer:main <file src="LICENSE" target="lib/net45/LICENSE" />
electron-windows-installer:main <file src="[application name].exe" target="lib/net45/[application name].exe" />
electron-windows-installer:main </files>
electron-windows-installer:main </package>
electron-windows-installer:main +7s
Failed with exit code: 1
Output:
Attempting to build package from '[application name].nuspec'.
lib/net45/resources/app.asar
Stream was too long.
Будем весьма благодарны за любые предложения.