Qué vas a conseguir
Una aplicación empaquetada en Microsoft Configuration Manager (MECM, antes SCCM) que se instala sola en los equipos de una colección, con un método de detección que evita reinstalarla, y los tres logs que te dicen por qué un equipo no la recibe.
Antes de empezar
- Rol de Application Administrator (o superior) en la consola de Configuration Manager.
- El instalador en un recurso compartido al que llegue el servidor de sitio:
\\cm01\Sources\Apps\7-Zip\24.08\. Una carpeta por aplicación y versión; nunca se sobrescribe una versión anterior. - Los parámetros de instalación silenciosa del fabricante. Para un MSI son estándar; para un EXE, los pone el fabricante (
/S,/quiet,/VERYSILENT). - Una colección de prueba con dos o tres equipos tuyos antes de cualquier colección real.
1. Probar la instalación silenciosa a mano
Antes de tocar la consola, el comando tiene que funcionar en un equipo limpio sin preguntar nada. Si no funciona a mano, no funcionará desde MECM.
msiexec /i "\\cm01\Sources\Apps\7-Zip\24.08\7z2408-x64.msi" /qn /norestart /l*v C:\Windows\Temp\7zip-install.log$LASTEXITCODE0Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object DisplayName -like "7-Zip*" | Select-Object DisplayName, DisplayVersion, UninstallStringDisplayName DisplayVersion UninstallString----------- -------------- ---------------7-Zip 24.08 (x64) 24.08 MsiExec.exe /I{23170F69-40C1-2702-2408-000001000000}Código de salida 0 (o 3010 si pide reinicio) y la entrada en el registro: eso es lo que MECM va a necesitar para saber que está instalada.
2. Crear la aplicación
Al importar un MSI, el asistente rellena el código de producto y el método de detección solo. Para un EXE tienes que escribirlos tú: el método de detección más fiable es la clave del registro de desinstalación con DisplayVersion igual o mayor que la versión que instalas.
Sin un método de detección correcto, MECM instala la aplicación en cada ciclo de evaluación o la marca como fallida aunque se haya instalado bien. Es el error número uno de los despliegues "que no funcionan".
3. Distribuir el contenido
Botón derecho sobre la aplicación → Distribuir contenido → el grupo de puntos de distribución. Hasta que el contenido no está en los DP, los clientes no pueden descargarlo. Se comprueba en Supervisión → Estado de distribución → Estado del contenido: tiene que estar al 100 % en verde.
4. Desplegar
Disponible la pone en el Centro de software para que el usuario la instale si quiere; Obligatorio con fecha límite la instala sola. Para el piloto, Obligatorio; para la colección real, primero Disponible una semana y después Obligatorio: así los usuarios ya la conocen cuando se les impone.
5. En el cliente: forzar y leer los logs
El cliente evalúa las políticas cada hora. Para no esperar:
# Pedir la política nueva y evaluar las aplicacionesInvoke-CimMethod -Namespace root\ccm -ClassName SMS_Client -MethodName TriggerSchedule -Arguments @{sScheduleID="{00000000-0000-0000-0000-000000000021}"}Invoke-CimMethod -Namespace root\ccm -ClassName SMS_Client -MethodName TriggerSchedule -Arguments @{sScheduleID="{00000000-0000-0000-0000-000000000121}"}# Los tres logs, en C:\Windows\CCM\Logs (ábrelos con CMTrace)Get-Content C:\Windows\CCM\Logs\AppEnforce.log -Tail 5 Performing detection of app deployment type 7-Zip 24.08 (x64)... App enforcement environment: ... Context: Machine ... Prepared command line: "C:\Windows\system32\msiexec.exe" /i "7z2408-x64.msi" /qn /norestart Matched exit code 0 to a Success entry in exit codes table. ++++++ App enforcement completed (5 seconds) ++++++- AppDiscovery.log: si el método de detección encuentra la app. "Not discovered" cuando sí está instalada = método de detección mal.
- AppEnforce.log: el comando que ejecutó y el código de salida. Un
1603es error genérico del MSI: abre el log delmsiexec(/l*v) para ver el motivo real. - CAS.log y ContentTransferManager.log: si no encuentra el contenido ("No DP locations found"), el equipo está en un límite sin DP asignado o el contenido no se distribuyó.
6. Qué poner en el ticket
Nombre de la aplicación, colección, nombre del equipo y las líneas de AppDiscovery y AppEnforce con la hora. Con eso, el administrador de MECM resuelve sin conectarse al equipo.
Siguientes pasos
- Convierte el EXE más usado del equipo en una aplicación con detección por registro: es el ejercicio que enseña el modelo entero.
- Añade requisitos (solo x64, solo Windows 11) y supersedencia (la versión nueva reemplaza a la vieja) cuando tengas dos versiones.
- En el Nivel 3 verás Intune y la coadministración: qué cargas de trabajo pasan a la nube y cuáles siguen en MECM.
¿Quieres practicarlo? Resuelve el ticket «Instalada, pero el Centro de software dice 'Error'» en SysAdmin Desks, gratis y en el navegador.
¿Falta algo o en tu entorno es distinto? Escríbeme y lo corrijo.
Tech Career Lab · newsletter
¿Te ha servido? Cada dos semanas envío una idea práctica para perfiles IT: LinkedIn, proyectos, networking y procesos de selección.
Apúntate y llévate las 33 ideas →