Cliquez pour évaluer cet article !
0 avis

Contexte

Dans un environnement Modern Workplace, le déploiement d’applications macOS via Microsoft Intune est une pratique courante.

Cependant, de nombreuses applications macOS, comme Visual Studio Code, sont distribuées sous forme de fichiers .dmg contenant un bundle .app.

Ce format pose des contraintes spécifiques en environnement entreprise, notamment pour les utilisateurs standards.

Problématique

Contrairement à Windows, une application macOS est un bundle signé.

Toute modification de ce bundle peut entraîner :

  • Une invalidation de la signature
  • Un blocage par Gatekeeper
  • Un message : “application endommagée”

Lors d’un déploiement via Intune, une mauvaise méthode de packaging peut donc rendre l’application inutilisable.

L’objectif est donc de :

  • préserver l’intégrité du bundle
  • permettre une installation pour utilisateurs standards
  • garantir la compatibilité avec Intune

Prérequis

Étape 1 – Télécharger et préparer l’application

Télécharger le DMG officiel depuis Microsoft.

Monter le DMG, puis :

  • Copier l’intégralité du .app
  • Ne jamais modifier ou ouvrir le contenu du bundle

Contenu du DMG avec Visual Studio Code.app

Étape 2 – Identifier les informations de l’application

Ouvrir le fichier :

Visual Studio Code.app/Contents/Info.plist

Récupérer :

  • CFBundleIdentifier
  • CFBundleShortVersionString

Ces informations seront utilisées dans le package.

Info.plist avec Bundle ID et version

Étape 3 – Créer un projet dans Packages.app

Ouvrir Packages.app :

  • Créer un New Raw Package
  • Structure attendue :
Project├ Settings├ Payload└ Scripts

Création du projet Raw Package

Activer :

  • Remove .DS_Store
  • Optimize nib files

Ne PAS activer :

  • Remove SCM metadata

Cela peut casser la signature.

Étape 3.a – Configurer Settings

Copier les valeurs du Info.plist

Étape 4 – Configurer le Payload

Dans l’onglet Payload :

Glisser Visual Studio Code.app dans :

/Applications

Résultat attendu :

/Applications/Visual Studio Code.app

Aucun sous-dossier supplémentaire ne doit être créé.

Structure Payload correcte

Étape 5 – Configurer les permissions

Configurer les permissions du bundle :

  • Owner : root
  • Group : wheel
  • Permissions : drwxr-xr-x

Permet aux utilisateurs standards d’exécuter l’application.

Étape 6 – (Optionnel) Script post-installation

Dans certains cas, macOS applique un attribut de quarantaine.

Script possible :

#!/bin/bashAPP="/Applications/Visual Studio Code.app"if [ -d "$APP" ]; then xattr -dr com.apple.quarantine "$APP" 2>/dev/nullfiexit 0

Ajout du script dans l’onglet Scripts

Étape 7 – Build du package

Compiler le projet :

Command + B

Résultat :

VSCode.pkg

Étape 8 – Vérifier la signature du .app (chemin à adapter)

spctl --assess --verbose '/Users/jonathan.duthil/Desktop/Visual Studio Code.app'

Résultat attendu :

acceptedsource=Notarized Developer ID

Vérification codesign / spctl

Étape 9 – Déploiement dans Intune

  • Upload du .pkg
  • Type : macOS LOB app
  • Assignation : utilisateurs ou devices

Intune installe via :

/usr/sbin/installer

Vérification

Sur le poste :

  • Application présente dans /Applications
  • Lancement sans droits admin

Points d’attention / Troubleshooting

Application “endommagée”

  • Bundle modifié
  • Signature cassée

Structure incorrecte

.app dans un autre .app

Vérifier la structure


ls -la '/Applications/Visual Studio Code.app'

Structure attendue

Signature invalide

codesign --verify "app_path"

Gatekeeper bloque

spctl --assess "app_path"

Toujours :

  • Ne pas modifier contents
  • Ne pas supprimer des fichiers internes
  • Tester localement avant Intune

Conclusion

Le déploiement d’applications macOS via Intune nécessite une bonne compréhension :

  • du fonctionnement des bundles .app
  • de la signature applicative
  • des contraintes de sécurité macOS

Une approche rigoureuse permet de garantir un déploiement fiable, même pour des utilisateurs standards.

Auteur :

Jonathan Duthil

Administrateur Modern Workplace – Metsys Expertise : Intune | Entra ID | macOS Management

Notez cet article

Vous avez aimé cet article ?

Rendez-le plus visible auprès des internautes en lui mettant une bonne note.

Cliquez pour évaluer cet article !
0 avis

Articles pouvant vous intéresser