Runtime nativo de Choco
El Runtime nativo de Choco es el motor de instalación de paquetes en proceso propio de RealmJoin que reemplaza el binario obsoleto de Chocolatey 0.10.3 sin dejar de ser totalmente compatible con los paquetes existentes.
Qué es
Cuando el agente RealmJoin instala paquetes de software fuera de Intune (véase instalación de paquetes), tradicionalmente ha dependido de Chocolatey como motor subyacente de paquetes. RealmJoin distribuyó una compilación fijada y fuertemente parcheada de la CLI de Chocolatey de código abierto — versión 0.10.3 — incluida como choco.exe en C:\ProgramData\chocolatey\.
La Native Choco Runtime reemplaza ese binario de Chocolatey incluido por la propia implementación hecha a medida de RealmJoin, que se ejecuta en proceso dentro del servicio de RealmJoin. Se comporta como sustituto de Chocolatey: entiende el mismo formato de paquete (.nupkg) y se comporta igual desde el punto de vista del autor del paquete y del administrador, pero ya no depende de la anticuada base de código Chocolatey 0.10.3.
En otras palabras, los paquetes que ya usas siguen funcionando sin cambios — solo cambia el motor que hay debajo.
Cómo funciona
Motor en proceso. Las instalaciones de paquetes se ejecutan dentro del servicio de RealmJoin en lugar de invocar un
choco.exe. LoschocolateyInstall.ps1de cada paquete se ejecuta en un espacio de ejecución de PowerShell en proceso.Almacenamiento aislado. El runtime nativo se instala en su propio raíz,
C:\ProgramData\RealmJoin\choco\(conlib\,extensions\, ylogs\subcarpetas). Nunca escribe en el estado del Chocolatey clásico bajoC:\ProgramData\chocolatey\y nunca cambia la variable de entornoChocolateyInstalldel sistema. Esto significa que el runtime nativo y un Chocolatey clásico preexistente pueden coexistir en el mismo dispositivo.Resolución automática de dependencias. Las dependencias de los paquetes declaradas en el
.nuspec(como Extensión Core Choco de RealmJoin) se resuelven e instalan automáticamente desde tus orígenes configurados.choco.execapa de compatibilidad. Algunos scripts de paquetes llaman achoco.exedirectamente. Para que sigan funcionando, el runtime despliega una pequeña%ProgramFiles%\RealmJoin\choco-shim\choco.exeque redirige esas llamadas de vuelta al motor en proceso en lugar de a Chocolatey clásico. El shim no se agrega alPATHdel sistema; solo se pone a disposición de los scripts de paquetes mientras se ejecutan.
Compatibilidad
El Native Choco Runtime está diseñado como un sustituto directo:
Los paquetes existentes de RealmJoin (incluido todo lo de Tienda de paquetes) se instalan y desinstalan de la misma manera.
Los argumentos/parámetros de paquete configurados en el Portal de RealmJoin siguen funcionando.
La Extensión Core Choco de RealmJoin los cmdlets auxiliares usados dentro de los scripts de paquetes siguen disponibles.
ESP de RealmJoin / Autopilot son compatibles: en un dispositivo nuevo con el runtime nativo habilitado,
winchocolos paquetes se instalan de forma nativa durante el registro, con sus dependencias resueltas automáticamente.
Como este runtime está en beta, recomendamos validar tus paquetes más importantes en un anillo piloto antes de desplegarlo para todo el Tenant. Informa cualquier diferencia de comportamiento al Soporte de RealmJoin para que podamos solucionarla antes de la disponibilidad general.
Cómo usarlo
El runtime se selecciona mediante una configuración de RealmJoin, así que puedes controlarlo de forma centralizada en lugar de tocar clientes individuales. La configuración de RealmJoin se encadena, lo que significa que puedes establecer un configuraciónde RealmJoin, así que puedes controlarlo de forma centralizada en lugar de tocar clientes individuales. La configuración de RealmJoin se encadena, lo que significa que puedes establecer un valor predeterminado para todo el Tenant y, cuando sea necesario, anularlo para grupos específicos (y los objetos dentro de ellos).
Las siguientes configuraciones controlan el comportamiento:
Chocolatey.Enabled
false
RealmJoin gestiona en el dispositivo los paquetes de tipo Chocolatey.
Chocolatey.UseNativeRuntime
false
Interruptor maestro. Cuando falseestá desactivado, las instalaciones siguen pasando por el Chocolatey clásico, choco.exe. Cuando truecuando está activado, todas winchoco las instalaciones pasan por el runtime nativo en proceso.
Chocolatey.DisableShim
false
Solo relevante cuando UseNativeRuntime = true. Cuando true, cualquier script de paquete que llame a un choco.exe externo falla de forma explícita en lugar de ser redirigido a través del shim; útil para sacar a la luz scripts que todavía recurren a un binario externo.
Habilítalo primero para un grupo piloto
Abre la configuración de un grupo que contiene un pequeño conjunto de dispositivos piloto y establece Chocolatey.UseNativeRuntime a true ahí. Como la configuración de grupo tiene prioridad sobre el valor predeterminado para todo el Tenant, solo esos dispositivos cambian al nuevo motor.
Valida tus paquetes
Deja que los dispositivos piloto ejecuten sus asignaciones y actualizaciones de paquetes normales. Confirma que las instalaciones se completan correctamente y revisa los registros si algo parece raro (véase Problemas de instalación de paquetes).
Cuál es el valor predeterminado
Native Choco Runtime es está deshabilitado de forma predeterminada (Chocolatey.UseNativeRuntime = false). Los clientes siguen usando el motor clásico de Chocolatey 0.10.3 incluido hasta que un administrador habilita el runtime nativo — ya sea para todo el Tenant o para un grupo específico. Esto te permite adoptar el nuevo runtime a tu propio ritmo y revertirlo con la misma facilidad mientras la característica está en beta.
Migración de dispositivos existentes
El runtime nativo y Chocolatey clásico coexistir en un dispositivo durante todo el tiempo que haga falta. Cuando habilitas el runtime nativo en un dispositivo que ya tiene paquetes instalados con Chocolatey clásico:
Los paquetes existentes gestionados por RealmJoin siguen funcionando y devolvería no se reinstalan solo porque cambió el runtime; su estado instalado se conserva tras el cambio, así que no hay una avalancha de reinstalaciones.
Las nuevas instalaciones y actualizaciones pasan por el runtime nativo; la instalación clásica permanece en disco, intacta, hasta que se elimina explícitamente.
Para un dispositivo individual (por ejemplo, durante soporte o QA), un administrador puede sacar una máquina de Chocolatey clásico con el migre verbo de una shell :
choco migrate es un ayudante de administración para un solo dispositivo (soporte, desarrollo/QA, limpieza puntual). devolvería No es el mecanismo para desplegar el cambio en toda una flota; para eso usa la configuración de Tenant/grupo.
Registros y solución de problemas
Las instalaciones del runtime nativo escriben un registro por paquete en:
(se conservan solo las 10 entradas más recientes por paquete). Esto es independiente de los C:\ProgramData\chocolatey\logs\. Al recopilar registros para una solicitud de soporte, incluye la carpeta C:\ProgramData\RealmJoin\ tal como se describe en Problemas de instalación de paquetes.
Referencia de archivos y rutas
C:\ProgramData\RealmJoin\choco\lib\<id>
Raíz de instalación de paquetes del runtime nativo.
C:\ProgramData\RealmJoin\choco\extensions\<id>
Módulos auxiliares de PowerShell importados automáticamente.
C:\ProgramData\RealmJoin\choco\logs\<id>
Registros por instalación (últimos 10 por paquete).
C:\Program Files\RealmJoin\choco-shim\choco.exe
La choco.exe capa de compatibilidad.
Última actualización
¿Te fue útil?