Installation Guide
Relevant source files
The following files were used as context for generating this wiki page:
This guide details the processes for installing, building, and updating the Messenger Unleashed desktop application across supported platforms. The application is an Electron-based wrapper for Facebook Messenger that enhances the native experience through custom feature sets and persistent configurations.
Sources: CLAUDE.md:5-9, README.md:1-3
Platform Support and Distribution
Messenger Unleashed is primarily distributed as pre-built binaries for macOS and Windows. The installation methods vary from automated shell scripts to manual installer downloads.
| Platform | Distribution Format | Installation Method |
|---|---|---|
| macOS | .dmg, .zip | One-line shell script or manual DMG mount |
| Windows | .exe (NSIS), Portable | Setup wizard or portable executable |
Sources: package.json:65-83, README.md:31-35
macOS Installation
Automated Installer
The recommended method for macOS users is the one-line installer script. This script automates architecture detection, downloading the latest release from GitHub, and handling system-level requirements such as Gatekeeper attributes.
curl -fsSL https://raw.githubusercontent.com/pcstyleorg/messenger-desktop/main/install.sh | bash
Sources: README.md:27-29, landing-page/src/app/HomeClient.tsx:75-76
Installation Logic
The install.sh script performs the following logic to ensure a clean installation:
- Architecture Detection: Determines if the system is
arm64(Apple Silicon) orx64(Intel) to select the correct binary. - Asset Retrieval: Queries the GitHub API to fetch the most recent
.dmgURL. - Mount and Copy: Mounts the DMG to a temporary directory and copies the
.appto/Applications. - Security Override: Executes
xattr -cron the installed application to remove the quarantine attribute, preventing Gatekeeper from blocking the unsigned app.
Sources: install.sh:13-22, install.sh:65-71
macOS Installation Flow
The following diagram illustrates the automated installation process on macOS:
The diagram shows the sequence from architecture detection to final cleanup. Sources: install.sh:10-75
Windows Installation
Windows users can install the application via an NSIS-based setup wizard or use a portable version. The NSIS installer allows users to change the installation directory but defaults to standard application paths.
- Standard Install: Executing the
Messenger.Unleashed.Setup.exefile initiates a multi-step installation process. - Portable: A standalone version that does not require system-wide installation.
Sources: package.json:80-86, landing-page/src/app/HomeClient.tsx:83-86
Development and Source Builds
Building from source requires Bun and the project's specific dependencies.
Environment Setup
- Install Bun: Required as the package manager and runner.
- Install Dependencies: Execute
bun installto set up Node modules.
Sources: CLAUDE.md:13-14, README.md:37-38
Build Commands
The project uses specific scripts defined in package.json to compile TypeScript source files before packaging with electron-builder.
| Command | Description |
|---|---|
bun run dev | Compiles TS and launches the app in development mode. |
bun run build | Builds a production binary for the current platform. |
bun run build:mac | Compiles and packages for macOS (dmg, zip). |
bun run build:win | Compiles and packages for Windows (nsis, portable). |
Sources: package.json:11-18, CLAUDE.md:16-22
Update System
The application implements an auto-update mechanism that differs by platform but relies on the GitHub repository as the source of truth.
Windows Updates
Windows uses electron-updater to handle background downloads. The application checks for updates on startup and can automatically download and install updates on quit.
Sources: src/main/updates.ts:7-13, src/main/updates.ts:98-103
macOS Updates
On macOS, the app uses a custom update sequence that executes the install.sh script with administrative privileges to replace the existing application.
Sources: src/main/updates.ts:153-176
Update Logic Flow
This diagram outlines the decision logic for version comparison and platform-specific execution. Sources: src/main/updates.ts:133-210
Conclusion
The installation of Messenger Unleashed is designed to be low-friction, utilizing automated scripts for macOS and standard installers for Windows. For developers, the build system leverages Bun for performance and Electron-builder for platform-specific packaging.
Sources: README.md:68-70, CLAUDE.md:111-113