Exécution Native Choco
Le Native Choco Runtime est le moteur d’installation de packages en processus de RealmJoin, qui remplace l’ancien binaire Chocolatey 0.10.3 tout en restant entièrement compatible avec les packages existants.
Ce que c’est
Lorsque l’agent RealmJoin installe des packages logiciels en dehors d’Intune (voir installation des packages), il s’est traditionnellement appuyé sur Chocolatey comme moteur de packages sous-jacent. RealmJoin fournissait une version verrouillée et fortement patchée du CLI Chocolatey open source — version 0.10.3 — fournie sous la forme de choco.exe sous C:\ProgramData\chocolatey\.
Le Native Choco Runtime remplace cet exécutable Chocolatey fourni avec celui de RealmJoin, sa propre implémentation conçue à cet effet qui s’exécute dans le processus à l’intérieur du service RealmJoin. Il émule Chocolatey : il comprend le même format de package (.nupkg) et se comporte de la même manière du point de vue de l’auteur du package et de l’administrateur, mais il ne dépend plus de l’ancienne base de code Chocolatey 0.10.3.
Autrement dit, les packages que vous utilisez déjà continuent de fonctionner inchangés — seul le moteur sous-jacent change.
Fonctionnement
Moteur en processus. Les installations de packages s’exécutent dans le service RealmJoin au lieu d’appeler un binaire externe
choco.exe. LechocolateyInstall.ps1de chaque package est exécuté dans un espace d’exécution PowerShell en processus.Stockage isolé. Le runtime natif s’installe dans son propre racine,
C:\ProgramData\RealmJoin\choco\(aveclib\,extensions\, etlogs\sous-dossiers). Il n’écrit jamais dans l’état de Chocolatey classique sousC:\ProgramData\chocolatey\et ne modifie jamais, à l’échelle de la machine,ChocolateyInstallvariable d’environnement. Cela signifie que le runtime natif et un Chocolatey classique préexistant peuvent coexister sur le même appareil.Résolution automatique des dépendances. Les dépendances de package déclarées dans le
.nuspec(comme le RealmJoin Core Choco Extension) sont résolues et installées automatiquement à partir des sources que vous avez configurées.choco.exeshim. Certains scripts de package appellentchoco.exedirectement. Pour que ceux-ci continuent de fonctionner, le runtime déploie un petit shim vers%ProgramFiles%\RealmJoin\choco-shim\choco.exequi redirige de tels appels vers le moteur en processus au lieu de les envoyer à Chocolatey classique. Le shim n’est pas ajouté auPATH; il n’est mis à disposition des scripts de package que pendant leur exécution.
Compatibilité
Le Native Choco Runtime est conçu comme un remplacement prêt à l’emploi:
Les packages RealmJoin existants (y compris tout ce qui provient du Package Store) s’installent et se désinstallent de la même manière.
Les arguments / paramètres de package configurés dans le portail RealmJoin continuent de fonctionner.
Le RealmJoin Core Choco Extension les cmdlets d’assistance utilisées dans les scripts de package restent disponibles.
RealmJoin ESP / Autopilot sont pris en charge: sur un appareil vierge avec le runtime natif activé,
winchocoles packages sont installés nativement pendant l’inscription, avec leurs dépendances résolues automatiquement.
Comment l’utiliser
Le runtime est sélectionné via un RealmJoin paramètre, vous pouvez donc le contrôler de manière centralisée au lieu de modifier des clients individuellement. Les paramètres RealmJoin se propagent, ce qui signifie que vous pouvez définir une valeur par défaut à l’échelle du tenant et, si nécessaire, la surcharger pour des groupes spécifiques (et les objets qu’ils contiennent).
Les paramètres suivants contrôlent le comportement :
Chocolatey.Enabled
faux
RealmJoin gère les packages de type Chocolatey sur l’appareil.
Chocolatey.UseNativeRuntime
faux
Commutateur principal. Lorsque faux, les installations passent toujours par le moteur classique choco.exe. Quand vrai, toutes les winchoco installations passent par le runtime natif en processus.
Chocolatey.DisableShim
faux
Uniquement pertinent lorsque UseNativeRuntime = true. Quand vrai, tout script de package qui appelle un choco.exe échoue de manière explicite au lieu d’être redirigé via le shim — utile pour mettre en évidence les scripts qui font encore appel à un binaire externe.
Activez-le d’abord pour un groupe pilote
Ouvrez les paramètres d’un RealmJoin groupe qui contient un petit ensemble d’appareils pilotes et définissez Chocolatey.UseNativeRuntime à vrai ici. Comme les paramètres de groupe priment sur la valeur par défaut à l’échelle du tenant, seuls ces appareils passent au nouveau moteur.
Validez vos packages
Laissez les appareils pilotes exécuter leurs affectations et mises à niveau de packages habituelles. Vérifiez que les installations réussissent et consultez les journaux si quelque chose semble anormal (voir Problèmes d’installation des packages).
Déployez-le à l’échelle du tenant
Une fois que vous êtes sûr, définissez Chocolatey.UseNativeRuntime à vrai car le valeur par défaut à l’échelle du tenant afin que tous les clients l’utilisent. Les groupes individuels peuvent toujours se désinscrire si vous devez les maintenir temporairement sur le moteur classique.
Quelle est la valeur par défaut
Le Native Choco Runtime est désactivé par défaut (Chocolatey.UseNativeRuntime = false). Les clients continuent d’utiliser le moteur Chocolatey 0.10.3 classique fourni jusqu’à ce qu’un administrateur active le runtime natif — à l’échelle du tenant ou pour un groupe spécifique. Cela vous permet d’adopter le nouveau runtime à votre propre rythme et de le revenir en arrière tout aussi facilement tant que la fonctionnalité est en bêta.
Migration des appareils existants
Le runtime natif et Chocolatey classique coexister sur un appareil aussi longtemps que nécessaire. Lorsque vous activez le runtime natif sur un appareil qui possède déjà des packages installés avec Chocolatey classique :
Les packages existants gérés par RealmJoin continuent de fonctionner et ne sont pas renverrait réinstallés simplement parce que le runtime a changé — leur état d’installation est conservé lors du basculement, il n’y a donc pas de vague de réinstallations.
Les nouvelles installations et mises à niveau passent par le runtime natif ; l’installation classique reste sur le disque, intacte, jusqu’à ce qu’elle soit explicitement supprimée.
Pour un appareil individuel (par exemple lors du support ou du contrôle qualité), un administrateur peut faire quitter Chocolatey classique à une machine avec le verbe du shim depuis un migrer verbe depuis un élevé terminal :
Journaux et dépannage
Les installations du runtime natif écrivent un journal par package dans :
(conservé avec les 10 entrées les plus récentes par package). Cela est distinct des C:\ProgramData\chocolatey\logs\. Lorsque vous collectez des journaux pour une demande de support, incluez le C:\ProgramData\RealmJoin\ dossier comme décrit dans Problèmes d’installation des packages.
Référence des fichiers et des chemins
C:\ProgramData\RealmJoin\choco\lib\<id>
Racine d’installation des packages du runtime natif.
C:\ProgramData\RealmJoin\choco\extensions\<id>
Modules d’assistance PowerShell importés automatiquement.
C:\ProgramData\RealmJoin\choco\logs\<id>
Journaux par installation (10 derniers par package).
C:\Program Files\RealmJoin\choco-shim\choco.exe
Le choco.exe shim.
Mis à jour
Ce contenu vous a-t-il été utile ?