# Distribución de la Aplicación Para distribuir tu aplicación con Electron, el directorio que contiene la aplicación deberá llamarse `app`, y ser colocado debajo del directorio de recursos de Electron (en macOS es `Electron.app/Contents/Resources/`, en Linux y Windows es `resources/`), de esta forma: En macOS: ```text electron/Electron.app/Contents/Resources/app/ ├── package.json ├── main.js └── index.html ``` En Windows y Linux: ```text electron/resources/app ├── package.json ├── main.js └── index.html ``` Luego ejecutar `Electron.app` (o `electron` en Linux, `electron.exe` en Windows), y Electron será iniciado como tu aplicación. El directorio `electron` será entonces tu distribución que recibirán los usuarios finales. ## Empaquetando tu aplicación en un archivo Además de distribuir tu aplicación al copiar todos los archivos de código fuente, también puedes empaquetar tu aplicación como un archivo [asar](https://github.com/atom/asar) y de esta forma evitar exponer del código fuente de tu aplicación a los usuarios. Para utilizar un archivo `asar` en reemplazo del directorio `app`, debes de renombrar el archivo a `app.asar`, y colocarlo por debajo el directorio de recursos de Electron (ver en seguida), Electron intentará leer el archivo y arrancar desde el. En macOS: ```text electron/Electron.app/Contents/Resources/ └── app.asar ``` En Windows y Linux: ```text electron/resources/ └── app.asar ``` Más detalles en [Empaquetado de Aplicaciones](application-packaging.md). ## Redefinición con Binarios Descargados Luego de empaquetar tu aplicación en Electron, querrás redefinir Electron antes de distribuirlo a los usuarios. ### Windows Puedes renombrar `electron.exe` a cualquier nombre que desees, y editar su ícono y otra información con herramientas como [rcedit](https://github.com/atom/rcedit). ### macOS Puedes renombrar `Electron.app` a cualquier nombre que desees, y tendrás que renombrar los campos `CFBundleDisplayName`, `CFBundleIdentifier` y `CFBundleName` en los siguientes archivos: * `Electron.app/Contents/Info.plist` * `Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist` También puedes renombrar el helper de la aplicación para evitar que aparezca como `Electron Helper` en el Monitor de Actividades. Pero asegurate de renombrar el nombre de archivo del ejecutable. La estructura de una aplicación renombrada será: ``` MyApp.app/Contents ├── Info.plist ├── MacOS/ │   └── MyApp └── Frameworks/ ├── MyApp Helper EH.app | ├── Info.plist | └── MacOS/ |    └── MyApp Helper EH ├── MyApp Helper NP.app | ├── Info.plist | └── MacOS/ |    └── MyApp Helper NP └── MyApp Helper.app ├── Info.plist └── MacOS/    └── MyApp Helper ``` ### Linux Puedes renombrar el ejectuable `electron` a cualquier nombre que desees. ## Redefinición mediante la recompilación de Electron desde el código fuente También es posible redefinir Electron cambiando el nombre del producto y compilandolo desde sus fuentes. Para realizar esto necesitas modificar el archivo `atom.gyp` y realizar una compilación desde cero. ### grunt-build-atom-shell La modificación a mano del código de Electron y su compilación puede resultar complicada, por lo cual se ha generado una tarea Grunt para manejar esto de forma automaticamente: [grunt-build-atom-shell](https://github.com/paulcbetts/grunt-build-atom-shell). Esta tarea se encargará de modificar el archivo `.gyp`, compilar el código desde las fuentes, y luego reconstruir los módulos nativos de la aplicación para que coincidan con el nuevo nombre del ejecutable.