有没有人曾经成功地使用电子打包器将电子应用程序转换为Windows上的工作.exe?

时间:2016-08-28 01:00:40

标签: electron

所以,我在package.json中有这个:

{
  "name"    : "webgl-demo",
  "version" : "1.1.0",
  "main"    : "main.js",
  "scripts" : {
     "build": "electron-packager . webgl --platform=win32 --arch=x64 --version=0.33.3 --overwrite"
     }
}

从命令行我用这个构建可执行文件:

npm run build

我使用了electron-sample-apps \ webgl项目作为豚鼠。我在electron-sample-apps \ webgl \ webgl-win32-x64文件夹中找到了一个webgl.exe。但是当我运行它时,我得到一个弹出窗口说"主进程中发生了一个javascript错误"。它在弹出文本中稍微向下说:"语法错误:意外的令牌{"。我不知道那是什么试图告诉我的?有没有人得到这个工作?

顺便说一句,我使用的是npm版本2.15.8,电子版4.4.3并在Windows 10机器上运行。

这很酷,它不仅不起作用,当我运行它创建的可执行文件不是一个,而是两个electron.exe进程,并且在处理错误弹出后它们不会消失。因此,我必须先打开taskmgr.exe并杀死electron.exe进程,然后再尝试再次构建。

有没有人用这个东西成功为Windows做过自定义.exe?

2 个答案:

答案 0 :(得分:2)

我建议您使用electron-packager的API构建软件包,它比命令行更容易。

这是我的脚本,您可以使用node file-name.js

运行它
'use strict';
var packager = require('electron-packager');
var options = {
    'arch': 'ia32',
    'platform': 'win32',
    'dir': './',
    'app-copyright': 'Paulo Galdo',
    'app-version': '2.1.6',
    'asar': true,
    'icon': './app.ico',
    'name': 'TierraDesktop',
    'out': './releases',
    'overwrite': true,
    'prune': true,
    'version': '1.3.4',
    'version-string': {
        'CompanyName': 'Paulo Galdo',
        'FileDescription': 'Tierra de colores', /*This is what display windows on task manager, shortcut and process*/
        'OriginalFilename': 'TierraDesktop',
        'ProductName': 'Tierra de colores',
        'InternalName': 'TierraDesktop'
    }
};
packager(options, function done_callback(err, appPaths) {
    console.log("Error: ", err);
    console.log("appPaths: ", appPaths);
});

在此处查看electron-packager API link

的选项

答案 1 :(得分:2)

我使用了电子打包器来构建win32-x64 exe应用程序。在创建构建之后,我将该文件夹复制到另一台Windows 10计算机以查看它是否具有任何依赖项(需要)。

令我惊讶(和荣耀),它的工作非常完美。运行应用程序所需的一切(所有依赖项)都包含在构建本身中。

您可以进一步使用inno setup创建setup.exe文件(打包)