Apple Silicon (M4)
MATLAB R2025a
Remote Desktop
Have you ever mounted the DMG to install MATLAB R2025a on macOS Apple Silicon, double-clicked the installer, and… nothing happened? Same here. This post covers the cause and solution for this issue.
🔍 Symptoms
InstallForMacOSAppleSilicon.app — here’s what happens when you run it:
• Process shows up in Activity Monitor but no UI window appears
• Same symptoms even after reboot
This seems to occur more frequently in remote access environments (Screen Sharing, VNC) or when using dummy display plugs.
🧩 Root Cause Analysis
Layer 1: Self-Extracting Architecture
The MATLAB installer uses a self-extracting approach. .app — when executed, it extracts an internal zip file (~1.6GB) to a temp directory (/var/folders/.../T/installer_<PID>/), then automatically runs the extracted binary.
Layer 2: Gatekeeper Quarantine Propagation
The problem is that during this process, macOS Gatekeeper’s quarantine attribute (com.apple.provenance) propagates to the extracted binaries. The installer uses a Qt-based UI framework, and the quarantine restrictions prevent Qt from loading properly.
🛠️ Solution
The core idea is simple: directly run the extracted binary with an explicit archives path.
Step 1. Verify DMG Mount
ls /Volumes/R2025a_macOSAppleSilicon/
# → InstallForMacOSAppleSilicon.app
Step 2. Trigger Self-extraction
Directly execute the installer app binary to start extracting files to the temp folder.
/Volumes/R2025a_macOSAppleSilicon/InstallForMacOSAppleSilicon.app/Contents/MacOS/InstallForMacOSAppleSilicon &
Wait about 1-3 minutes. The ~1.6GB zip extraction happens in the background.
Step 3. Find the Extracted Folder
# Find extracted installer folder
find /var/folders -maxdepth 5 -name "installer_*" -type d 2>/dev/null
# Save to DEST variable (replace with actual path)
DEST="/var/folders/.../T/installer_XXXX"
# If bin and archives exist, extraction is complete!
ls "$DEST/bin/maca64/MathWorksProductInstaller"
ls "$DEST/archives/"
Step 4. Run Installer Directly ⭐
# Clean up existing installer processes
pkill -f MathWorksProductInstaller
# ★ Key: Specify path directly with -archives option!
"$DEST/bin/maca64/MathWorksProductInstaller" \
-nocopy \
-archives "$DEST/archives" &
With this, the installer UI finally appears! 🎉
MathWorksProductInstaller by itself, without the -archives option, and it won’t find the archives path — you’ll either get an error or the same symptom will repeat.
⚡ One-liner (For Those in a Hurry)
A script that runs the entire process at once:
# 1. Run self-extract
/Volumes/R2025a_macOSAppleSilicon/InstallForMacOSAppleSilicon.app/Contents/MacOS/InstallForMacOSAppleSilicon &
# 2. Wait for extraction
while ! find /var/folders -maxdepth 5 -name "MathWorksProductInstaller" \
-type f 2>/dev/null | grep -q .; do
sleep 5; echo "Extracting..."
done
# 3. Find & run
DEST=$(find /var/folders -maxdepth 5 -name "installer_*" \
-type d 2>/dev/null | sort -t_ -k2 -n | tail -1)
pkill -f MathWorksProductInstaller 2>/dev/null
"$DEST/bin/maca64/MathWorksProductInstaller" \
-nocopy -archives "$DEST/archives" &
📦 Post-Installation Tips
Removing the quarantine attribute before first launching MATLAB after installation makes it more stable.
sudo xattr -cr /Applications/MATLAB_R2025a.app
qt_menu.nib warning may pop up — safe to ignore.
-archives option to fix it!
Environment: Mac Mini M4 · macOS · 4K dummy display plug · Screen Sharing remote access