Abdulkader Safi

The dmg installs and runs with everything inside

Rebuilt the dmg with the file API and watcher inside, then mounted, installed, and launched it on this Mac, fixing two build breaks on the way.

2 min read

Share
screenshot of MD Kanban

With the file API and the watcher landed, the dmg needed a fresh build and a real install test. Rebuilt it, mounted it, installed it to Applications, launched it, and confirmed the window comes up instead of the old white screen.

What got checked

The packaged asar holds the watcher code and the renderer bundle, asset paths are relative, and the icon ships in Resources. The installed app starts its main, GPU, network, and renderer processes and opens a window titled MD Kanban. That is the full chain from source to a running desktop app on this machine.

Two build breaks along the way

First, the source index.html had been overwritten with built output, so Vite tried to resolve a hashed bundle from the source file and failed. Restored it from git and the build passed. The lesson is old: never let build output land on source paths.

Second, electron-builder failed with a corrupted Electron dist. The cached Electron download in the macOS cache folder was incomplete, likely from an interrupted earlier run. Wiping that cache folder and rebuilding fixed it. Nothing wrong with the project, just a bad artifact on disk.

Where it stands

The dmg on disk matches current source, installs clean, and runs. Packaging is done until code signing becomes worth doing.

Last updated 10 Sep 2026 · filed under Tools, desktop, vue, ai agent

Every entry on this project

13 build notes, in order

Including the ones where nothing worked. You are on part 7.

Read the series →

Written by

Abdulkader Safi

Software Engineer

Lead engineer at DSRPT, from Lebanon and based in Kuwait. I write about the tools and bugs from real client work, with the numbers I measured.

About me → GitHub LinkedIn

Need this kind of work done on your project?

Start a project →

Keep reading

More from MD Kanban

All 13 entries →