Package and ship
Set application metadata
Give the package a stable name, version, description, author, and identifier before producing distributable files.
8 minute lesson
Application identity reaches the operating system, update service, signing system, and data directory. Set it before the first public build.
Open package.json and replace the generated placeholders.
Use a package-safe name, a human-readable productName, a semantic version, and accurate author and description fields.
Set a stable application identifier in forge.config.js through the packager configuration:
module.exports = {
packagerConfig: {
name: 'Desktop Notes',
appBundleId: 'com.flaviocopes.desktopnotes'
},
makers: [
// generated makers stay here
]
}
Choose the identifier once. Signing, updates, operating-system permissions, and user data can depend on application identity.
Use one identity map:
| Field | Purpose |
|---|---|
name | Package-safe internal name |
productName | Human-readable application name |
version | Release version |
appBundleId | Stable macOS application identifier |
| Windows application identity | Installer and upgrade continuity |
The exact Windows identifier depends on the maker. Configure it in that maker instead of assuming appBundleId covers every platform.
Build once, then inspect the packaged application name, executable, metadata, user-data location, and installer identity. They should all describe Desktop Notes consistently.
Increment the version for every release. Never replace an old artifact with different code under the same version; update clients and support logs need an immutable version-to-code mapping.
Lesson completed