Pure Raw 5.3 not installing on Tahoe

I tried installing the 5.3 version on my macOS Tahoe (in beta put officially launching on the 15th of this month, 4 days from today) and it just gets blocked with an error message. And then it just freezes.

Anyone has some way to solve it?

2 Likes

Welcome to the forum @caesargaius

…wait until things are out of beta…and/or DxO issues a statement that it supports macOS Tahoe. Before that, I’d just wait and see.

3 Likes

It is the installer that is failing, PureRAW 5.2 runs on Tahoe. It is effectively out of beta for me as Apple made the Release Candidate build available for beta users. Other than major issues this is what is going to be released next week.

As 5.3 installed correctly on my Sequoia system I copied the executable to system running Tahoe and now have 5.3 running on Tahoe. So not an issue with PureRAW itself, just the installation package. Other software installing normally.

1 Like

I have the same issue as described … installer is the problem not the application …

Yea, I have the exactly same problem, finger-crossed.

Followed your advise and did the same. Worked fine. Thank you.
On the other hand I installed the trial Studio version 9 just fine.
I am completely tone with DXO after owning both Pure Raw 4 and 5. They simply do not care about their customers and have zero tech support.

DxO purposely blocks you from installing their software on beta versions of Mac OS. I asked them about it before as I thought it was a bug and was trying to report it.

I dont agree with their policy since the software works if you install it first and then install the beta over top of it. Or do what was suggested in here. Its fine if they dont want to support people who use Mac OS beta but no reason to block us from using the software.

Now that Tahoe is final I still cant update to v4.12 since they still have this block in place

Not everyone’s choice. Careful, when you go that way.

There’s an app called “Suspicious Package” that lets me look into installer packages and extract content (e.g. the PureRaw app) and save it to wherever I want and have access to.
When I last tested, PR was made to add the necessary files and folders when needed, so copying the app was all it took.
Please note that this way of installation might not be covered by support although I don’t remember having seen respective clauses in DxO’s EULA.

2 Likes

Encountered this, found it pretty unnverving, wrote an installer.

  • mount the installer DMG
  • open terminal
  • type "cd "
  • drag a file from desktop to terminal and delete eveything in the path beind the “Desktop” (with backspace obviously)
  • ENTER
  • type “pico ./install.sh”
  • paste my stuff below into the window
  • press CTRL+x
  • press y
  • type “chmod 777 ./install.sh”
  • type ./install.sh
  • enter password if prompted
    … and it’s installed.
#!/usr/bin/env bash
# install_pureraw_from_dmg.sh
# Usage:
#   sudo bash install_pureraw_from_dmg.sh [MOUNT_POINT] [--no-lightroom]
# Example:
#   sudo bash install_pureraw_from_dmg.sh "/Volumes/DxO PureRAW 5"

set -euo pipefail

# --- Config & args ---
MOUNT_POINT="/Volumes/DxO PureRAW 5"
INSTALL_LIGHTROOM=1

# Parse args: [MOUNT_POINT] [--no-lightroom]
while (($#)); do
  case "$1" in
    --no-lightroom) INSTALL_LIGHTROOM=0; shift;;
    --) shift; break;;
    -*) echo "Unknown option: $1" >&2; exit 2;;
    *)  MOUNT_POINT="$1"; shift;;
  esac
done

PKG_NAME="Install DxO PureRAW.pkg"
TMP_BASE="${TMPDIR:-/tmp}/pureraw_install.$$"
APP_TARGET="/Applications"
APP_SUPPORT_TARGET="/Library/Application Support/DxO Labs/DxO PureRAW 5"
LR_TARGET_BASE="/Users/Shared/DxOLightroomTemp"
LR_TARGET="${LR_TARGET_BASE}/Data-Export"

# --- Helpers ---
info(){ printf "\033[1;34m[info]\033[0m %s\n" "$*"; }
warn(){ printf "\033[1;33m[warn]\033[0m %s\n" "$*"; }
err(){ printf "\033[1;31m[error]\033[0m %s\n" "$*"; exit 1; }

# --- Preconditions ---
[[ -d "$MOUNT_POINT" ]] || err "Mount point not found: $MOUNT_POINT"
PKGPATH="$MOUNT_POINT/$PKG_NAME"
[[ -e "$PKGPATH" ]] || err "Installer pkg not found at: $PKGPATH"

info "Using installer: $PKGPATH"
info "Temp dir: $TMP_BASE"
rm -rf "$TMP_BASE"
mkdir -p "$TMP_BASE"
cd "$TMP_BASE"

# --- 1) Expand top-level pkg ---
info "Expanding top-level pkg (pkgutil --expand-full)…"
if pkgutil --expand-full "$PKGPATH" top_expanded 2>/dev/null; then
  workdir="$TMP_BASE/top_expanded"
else
  warn "pkgutil --expand-full failed or unavailable; trying xar fallback."
  mkdir -p tmp_xar
  if command -v xar >/dev/null 2>&1 && file "$PKGPATH" | grep -qi xar; then
    ( cd tmp_xar && xar -xf "$PKGPATH" )
    workdir="$TMP_BASE/tmp_xar"
  else
    warn "Copying pkg folder as-is from mounted volume (if dir-style)."
    cp -R "$PKGPATH" ./top_expanded 2>/dev/null || true
    workdir="$TMP_BASE/top_expanded"
  fi
fi
[[ -d "$workdir" ]] || err "Failed to expand installer."

# --- 2) Locate sub-packages (common / appsup / lightroom_data) ---
info "Locating sub-packages (common / appsup / lightroom_data)…"
cd "$workdir"

find_pkg() {
  local name="$1"
  local p
  p="$(find . -maxdepth 4 \( -type d -o -type f \) -name "$name" | head -n1 || true)"
  if [[ -z "$p" ]]; then
    p="$(find . \( -type d -o -type f \) -name "*${name%.*}*.pkg" | head -n1 || true)"
  fi
  printf "%s" "${p}"
}

common_pkg="$(find_pkg 'common.pkg')"
appsup_pkg="$(find_pkg 'appsup.pkg')"
lr_pkg="$(find_pkg 'lightroom_data.pkg')"

[[ -n "$common_pkg" ]] || err "common.pkg not found."
[[ -n "$appsup_pkg" ]] || err "appsup.pkg not found."
if [[ $INSTALL_LIGHTROOM -eq 1 && -z "$lr_pkg" ]]; then
  warn "lightroom_data.pkg not found; continuing without Lightroom payload."
  INSTALL_LIGHTROOM=0
fi

info "common.pkg at: $common_pkg"
info "appsup.pkg at: $appsup_pkg"
if [[ $INSTALL_LIGHTROOM -eq 1 ]]; then info "lightroom_data.pkg at: $lr_pkg"; fi

# --- 3) Extract payloads ---
extract_pkg_payload() {
  local pkg_path="$1"
  local out_dir="$2"
  mkdir -p "$out_dir"
  if [[ -d "$pkg_path" && -d "$pkg_path/Payload" ]]; then
    cp -a "$pkg_path/Payload/." "$out_dir/"
    return 0
  fi
  if pkgutil --expand-full "$pkg_path" "$out_dir.expanded" 2>/dev/null; then
    if [[ -f "$out_dir.expanded/Payload" ]]; then
      ( cd "$out_dir" && gzip -dc "$out_dir.expanded/Payload" | cpio -idm )
      return 0
    fi
    if [[ -f "$out_dir.expanded/Contents/Archive.pax.gz" ]]; then
      ( cd "$out_dir" && pax -rz -f "$out_dir.expanded/Contents/Archive.pax.gz" )
      return 0
    fi
  fi
  if command -v xar >/dev/null 2>&1; then
    mkdir -p "$out_dir.xar"
    if xar -xf "$pkg_path" -C "$out_dir.xar" 2>/dev/null; then
      if [[ -f "$out_dir.xar/Payload" ]]; then
        ( cd "$out_dir" && ( gzip -dc "$out_dir.xar/Payload" 2>/dev/null || xz -dc "$out_dir.xar/Payload" 2>/dev/null ) | cpio -idm )
        return 0
      fi
      if [[ -f "$out_dir.xar/Contents/Archive.pax.gz" ]]; then
        ( cd "$out_dir" && pax -rz -f "$out_dir.xar/Contents/Archive.pax.gz" )
        return 0
      fi
    fi
  fi
  return 1
}

extract_dir_common="$TMP_BASE/common_payload"
extract_dir_appsup="$TMP_BASE/appsup_payload"
extract_dir_lr="$TMP_BASE/lightroom_payload"

info "Extracting common.pkg…"
extract_pkg_payload "$common_pkg" "$extract_dir_common" || err "Failed to extract common.pkg"

info "Extracting appsup.pkg…"
extract_pkg_payload "$appsup_pkg" "$extract_dir_appsup" || err "Failed to extract appsup.pkg"

if [[ $INSTALL_LIGHTROOM -eq 1 ]]; then
  info "Extracting lightroom_data.pkg…"
  extract_pkg_payload "$lr_pkg" "$extract_dir_lr" || { warn "Failed to extract lightroom_data.pkg; skipping."; INSTALL_LIGHTROOM=0; }
fi

# --- 4) Resolve sources (app / support / lightroom) ---
APP_SRC="$(find "$extract_dir_common" -type d -name 'DxO PureRAW 5.app' -print -quit || true)"
if [[ -z "$APP_SRC" && -d "$extract_dir_common/Applications/DxO PureRAW 5.app" ]]; then
  APP_SRC="$extract_dir_common/Applications/DxO PureRAW 5.app"
fi
[[ -n "$APP_SRC" ]] || err "Could not locate 'DxO PureRAW 5.app' in extracted common payload."

SUPPORT_SRC_DIR="$(find "$extract_dir_appsup" -type d -path '*/Library/Application Support/DxO Labs/DxO PureRAW 5' -print -quit || true)"
if [[ -z "$SUPPORT_SRC_DIR" && -d "$extract_dir_appsup" ]]; then
  SUPPORT_SRC_DIR="$extract_dir_appsup"
fi

if [[ $INSTALL_LIGHTROOM -eq 1 ]]; then
  LR_SRC_DIR="$(find "$extract_dir_lr" -type d -path '*/Users/Shared/DxOLightroomTemp/Data-Export' -print -quit || true)"
  if [[ -z "$LR_SRC_DIR" && -d "$extract_dir_lr/Data-Export" ]]; then
    LR_SRC_DIR="$extract_dir_lr/Data-Export"
  fi
fi

# --- 5) Install app & support ---
info "Installing app to $APP_TARGET …"
sudo cp -R "$APP_SRC" "$APP_TARGET/" || err "Copy app failed."

if [[ -n "$SUPPORT_SRC_DIR" ]]; then
  info "Installing support to $APP_SUPPORT_TARGET …"
  sudo mkdir -p "$APP_SUPPORT_TARGET"
  if [[ -d "$SUPPORT_SRC_DIR/Library/Application Support/DxO Labs/DxO PureRAW 5" ]]; then
    sudo rsync -a "$SUPPORT_SRC_DIR/Library/Application Support/DxO Labs/DxO PureRAW 5/" "$APP_SUPPORT_TARGET/"
  else
    sudo rsync -a "$SUPPORT_SRC_DIR/" "$APP_SUPPORT_TARGET/"
  fi
else
  warn "Support tree not found; proceeding with app only."
fi

# --- 6) Install Lightroom data (optional) ---
if [[ $INSTALL_LIGHTROOM -eq 1 && -n "${LR_SRC_DIR:-}" ]]; then
  info "Installing Lightroom data to $LR_TARGET …"
  sudo mkdir -p "$LR_TARGET"
  sudo chmod 1777 "$LR_TARGET_BASE" || true
  sudo rsync -a "$LR_SRC_DIR/" "$LR_TARGET/"
else
  [[ $INSTALL_LIGHTROOM -eq 1 ]] && warn "Lightroom payload extracted but Data-Export not found; skipped."
fi

# --- 7) Quarantine & ownership ---
info "Clearing Gatekeeper quarantine…"
sudo xattr -dr com.apple.quarantine "$APP_TARGET/DxO PureRAW 5.app" "$APP_SUPPORT_TARGET" "$LR_TARGET_BASE" 2>/dev/null || true

info "Setting ownership to root:wheel…"
sudo chown -R root:wheel "$APP_TARGET/DxO PureRAW 5.app" 2>/devnull || true
[[ -d "$APP_SUPPORT_TARGET" ]] && sudo chown -R root:wheel "$APP_SUPPORT_TARGET" 2>/dev/null || true
[[ -d "$LR_TARGET_BASE"   ]] && sudo chown -R root:wheel "$LR_TARGET_BASE"   2>/dev/null || true

# --- 8) Cleanup & finish ---
info "Cleaning up temp: $TMP_BASE"
rm -rf "$TMP_BASE" || true

info "Done. Revealing the app (first run: right-click → Open):"
open -R "$APP_TARGET/DxO PureRAW 5.app" || true

info "If anything seems missing, check:"
printf "  %s\n" "/Applications/DxO PureRAW 5.app/Contents" "$APP_SUPPORT_TARGET" "$LR_TARGET"

DXO sent me the following reply:

DxO PureRAW 5 is not yet compatible with Tahoe due to it just being released. Our developers are working on compatibility and will release an update as soon as it is ready. Thank you for your patience.

1 Like