2016-08-04 89 views
0

我正在使用电子包装程序打包我的应用程序,但并未更改其名称,但仍显示“Electron”。电子应用程序名称不变

它应该在我的package.json中使用productName,但它不会改变。

即使我做了一个安装程序,安装应用程序的名称,快捷方式和流程仍然是Electron

我读过,也许问题是electron-prebuilt但我并没有把它作为一个依赖我项目。

任何想法是什么错?

编辑:

阅读electron-packager文档更上有一个选项特别是窗口。但是当我使用他们扔下我一个错误:

Fatal error: Unable to commit changes 
undefined 

我第一次用他们在“工作”好的包装我的应用程序,但与--version-string.ProductName工作前,仍显示错误的应用程序名称

electron-packager ./ --platform=win32 --arch=ia32 --overwrite=true --appname="TierraDesktop" --version-string.ProductName="TierraDesktop" --version-string=InternalName="TierraDesktop" --version-string.CompanyName="Cosmica" --version-string.FileDescription="Sistema de gestion comercial" --version-string.OriginalFilename="TierraDesktop" 

但现在即使它仍然会抛出错误。

在这里,我将离开你我的packager.json这是对我的项目

{ 
"name": "TierraDesktop", 
"productName": "TierraDesktop", 
"version": "2.0.5", 
"description": "Aplicacion de escritorio tierra de colores", 
"main": "main.js", 
"scripts": { 
    "start": "electron main.js" 
}, 
"repository": { 
    "type": "git", 
    "url": "git+https://github.com/xxxx/xxxxx.git" 
}, 
"author": "xxxxx", 
"devDependencies": { 
    "debug-menu": "^0.4.0", 
    "electron-winstaller": "^2.3.3" 
}, 
"dependencies": { 
    "electron-json-storage": "^2.0.0" 
} 
} 

Executable

Process name

Application name

回答

2

努力和研究,我决定通过编程API

这个脚本来包装我的应用程序可以达到我想要的所有东西后确定。希望这可以帮助有同样问题的人。

var packager = require('electron-packager'); 
var options = { 
    'arch': 'ia32', 
    'platform': 'win32', 
    'dir': './', 
    'app-copyright': 'Paulo Galdo', 
    'app-version': '2.0.5', 
    'asar': true, 
    'icon': './app.ico', 
    'name': 'TierraDesktop', 
    'ignore': ['./releases', './.git'], 
    'out': './releases', 
    'overwrite': true, 
    'prune': true, 
    'version': '1.3.2', 
    '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(err); 
    console.log(appPaths); 
}); 
0
electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...] 

If appname is omitted, this will use the name specified by "productName" or "name" in the nearest package.json.

012根

您是否尝试过在package.json中设置'name'属性?

+0

是的,我也试过,结果相同。另外,如果我不指定应用程序名称在控制台上会引发一个错误,要求将电子预构建为开​​发依赖项 –

0

electron-packager根据版本名称检查现有软件包的输出目录。如果您在尝试使用不同的产品名称重新打包时未更改版本名称,电子包装商可能已在控制台中告诉您,由于包装已存在,它正在跳过包装过程。

相关问题