繁体   English   中英

电子应用名称不变

[英]Electron app name doesn't change

我正在使用electronic-packager包装我的应用程序,但未更改其名称,并且仍显示“ Electron”。

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

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

我已经读过,也许问题是electron-prebuilt但是我没有依赖它作为我的项目的依赖。

知道有什么问题吗?

编辑:

阅读更多关于electron-packager文档的信息,尤其是对于Windows而言,有一个选择。 但是当我使用它们时,我抛出一个错误:

Fatal error: Unable to commit changes
undefined

我第一次使用它们是“工作”良好的包装我的应用程序,但仍然显示错误的应用程序名称

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"

以前使用过--version-string.ProductName但现在即使使用它仍会抛出该错误。

在这里,我将把我的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"
}
}

可执行文件

工艺名称

应用名称

在尝试研究之后,我决定通过程序化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);
});

@Paulo Galdo Sandoval的答案对于electron-packager是正确的,但是从9.0.0版开始,它会自动获取这些字段的信息( version-string现在是win32metadata )。 请参阅该软件包的发行说明

electron-packager <sourcedir> <appname> --platform=<platform> --arch=<arch> [optional flags...]

如果省略appname,它将使用由最近的package.json中的“ productName”或“ name”指定的名称。

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

electronic-packager根据版本名称检查输出目录中是否存在现有软件包。 如果您尝试使用其他产品名称重新打包时未更改版本名称,则electronic-packager可能会在控制台中告诉您,由于打包已存在,它正在跳过打包过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM