Estoy empaquetando mi aplicación usando el empaquetador de electrones, pero no estoy cambiando su nombre y aún muestro “Electron”.
se supone que debe usar el productName
en mi package.json
pero no cambia.
incluso si hice un instalador, el nombre de la aplicación instalada, el acceso directo y el proceso siguen siendo Electron
He leído que tal vez el problema sea electron-prebuilt
pero no lo tenía como una dependencia de mi proyecto.
¿Alguna idea de lo que está mal?
Editar:
Al leer más sobre la documentación del electron-packager
de electron-packager
hay opciones especialmente para Windows. pero cuando los uso me lanza un error:
Fatal error: Unable to commit changes undefined
La primera vez que los usé fue “trabajando” bien empaquetando mi aplicación, pero aún mostrando mal el nombre de la aplicación
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"
antes estaba trabajando con --version-string.ProductName
pero ahora incluso con eso todavía --version-string.ProductName
ese error.
Aquí te dejo mi packager.json
que está en la raíz de mi proyecto
{ "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" } }
Ok, después de probar e investigar, he decidido empaquetar mi aplicación a través de la API programática
Con este script puedo lograr todo lo que quiero. Espero que esto ayude a alguien con el mismo problema.
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); });
La respuesta de @Paulo Galdo Sandoval es correcta para electron-packager
de electron-packager
, pero a partir de la versión 9.0.0
del paquete, automáticamente toma información de esos campos ( version-string
ahora es win32metadata
). Ver las notas de lanzamiento de ese paquete.
electron-packager --platform= --arch= [optional flags...]
Si se omite el nombre de la aplicación, este utilizará el nombre especificado por “productName” o “name” en el package.json más cercano.
¿Ha intentado establecer la propiedad ‘nombre’ en package.json?
electron-packager comprueba el directorio de salida para un paquete existente basado en el nombre de la versión. Si no cambió el nombre de la versión cuando intentó volver a empaquetar con un nombre de producto diferente, es probable que el empaquetador de electrones le haya dicho en la consola que se estaba saltando el proceso de empaquetado porque ya existe un paquete.