我希望生成一个唯一的.exe
文件以执行应用程序,或者生成一个.msi
安装应用程序。如何做到这一点?
我希望生成一个唯一的.exe
文件以执行应用程序,或者生成一个.msi
安装应用程序。如何做到这一点?
由于大多数答案没有关于打包的逐步说明,让我发布一下我是如何打包电子应用程序的。
首先我们需要安装electron-packager。
Electron Packager 是一个命令行工具和Node.js库,将基于Electron的应用程序源代码与重命名的Electron可执行文件和支持文件捆绑在一起,形成准备分发的文件夹。
安装electron-packager: 在Windows命令提示符中运行以下命令
npm install -g electron-packager --save-dev
接下来,让我们为 Windows x64 打包我们的应用程序:
electron-packager appdirectory appName --platform=win32 --arch=x64 --electron-version=1.4.3
2020 更新
您可以使用electron-builder为您的Electron应用程序创建便携式.exe文件。
您只需要使用yarn add electron-builder --dev
安装electron-builder,
然后创建一个像这样的package.json文件(这仅适用于便携式.exe):
{
"name": "my-electron-app",
"productName": "electron app",
"version": "1.0.0",
"description": "an electron app",
"main": "main.js",
"scripts": {
"start": "electron .",
"dist": "electron-builder"
},
"devDependencies": {
"electron": "^8.0.2",
"electron-builder": "^22.3.2"
},
"build": {
"appId": "com.electron.app",
"win": {
"target": "portable"
},
"portable": {
"unicode": false,
"artifactName": "my_electron_app.exe"
}
}
}
有很多优秀的模块可以生成单个安装程序*exe文件。请查看以下任何一个:
electron-builder(可生成Windows、Mac和Linux的可执行文件,具有无服务器应用程序自动更新功能、代码签名、发布等功能,减少样板文件)
electron-forge(可为Windows、Mac和Linux生成可执行文件,不仅打包应用程序,还可以帮助您创建它们,更多样板文件)
windows-installer(易于使用,轻量级,仅生成exe文件)
(仍然不确定该选择哪一个?在此处进行比较:here)
将Electron应用程序打包成可安装或可执行文件,electron-builder
是最佳选择。它易于配置,我们还可以使用 electron 自动更新工具。这是一个 electron-builder.json
的示例:
{
"publish": {
// This can be also 's3', 'github'... based on which server you are using for publish
// https://www.electron.build/configuration/publish
"provider": "generic",
// Feed URL but github provider case, other fields will be required. 'repo', 'owner'...
"url": "https://myappserver.com/updates/"
},
"productName": "My App",
"appId": "com.myapp.app",
"directories": {
// The icon and background in 'buildResources' will be used as app Icon and dmg Background
"buildResources": "buildResources",
// output is directory where the packaged app will be placed
"output": "release"
},
// The files which will be packed
"files": ["src/", "node_modules/", "package.json"],
"mac": {
"target": ["dmg", "zip"], // Also can be, 'pkg', ...
"artifactName": "${productName}-${version}-${os}.${ext}"
},
"win": {
"target": ["nsis", "zip"], // Also can be, 'portable', ...
"artifactName": "${productName}-${version}-${os}.${ext}"
},
"linux": {
"target": ["AppImage"],
"artifactName": "${productName}-${version}-${os}.${ext}"
},
"dmg": {
"title": "${productName}-${version}",
"contents": [
{
"x": 300,
"y": 360
},
{
"x": 490,
"y": 360,
"type": "link",
"path": "/Applications"
}
]
}
}
nsis
,extraFiles
,afterPack
,afterSign
等。package.json
文件中定义此配置,或者作为单独的文件,但文件名应为electron-builder.json
或electron-builder.yml
,位于项目根目录下。zip
、blockmap
和latest-{OS_Name}.yml
文件。npm install -g electron-packager --save-dev
npx electron-packager <appDirectory> appName --platform=win32 --arch=x64
npx electron-packager <appDirectory> appName --overwrite --asar --electron-version=13.4.0 --platform=win32 --arch=x64 --prune=true --out=release-builds --icon=./build/icon.ico"
以下是我在2021/2022年使用的方法:
npm install electron-packager -g
electron-packager D:\sample MySample --platform=win32 --arch=x64
上述命令将显示以下输出:
Packaging app for platform win32 x64 using electron v16.0.5
大约5-10分钟后,它会创建包含必要文件的文件夹,并在屏幕上显示以下输出:
Wrote new app to D:\sample\MySample-win32-x64
在我的情况下,上述输出目录的大小为1.09 GB。因此,在运行上述第二点中提到的命令之前,请确保您的硬盘有足够的空间。
MySample.exe
双击MySample.exe将启动带有应用程序的文件,准备供您使用。还请注意,它将在localhost上运行。所以尽情享受吧!
<base href="./" />
。2. 然后,确保路由正确。3. main_window是什么?那是你使用app-routing.module.ts
文件路由到默认组件/页面吗?如果是,请先尝试在本地运行项目,然后再尝试创建Windows应用程序。尝试上述方法并检查是否有帮助。 - Devner您需要安装electron-packager。
您可以按照以下步骤进行操作。
# for use in npm scripts
npm install electron-packager --save-dev
# for use from cli
npm install electron-packager -g
electron-packager <sourcedir> <appname> --platform=win32 --arch=x64
这里是一个示例命令。
electron-packager . app --platform win32 --arch x64 --out dist/
嗯...这个方法可以工作,但是想法是在不需要在电脑上安装的情况下运行.exe文件...另一个解决方案是使用Autoplay media Studio来包装你通过electron生成的软件包,并制作一个可执行文件,或者另一种解决方案是使用thinstall vmware...缺点是两种都是商业软件,所以你必须付费...