GPO: Reducir tamaño de C:\Windows\Installer

En un post anterior vimos como iniciar el servicio Windows Installer en modo seguro:


Otro tema relacionado con el servicio Windows Installer es el tamaño de la carpeta: C:\Windows\Installer

Esta carpeta está oculta y contiene ficheros MSI y MSP correspondientes a la caché del servicio Windows Installer.

De forma predeterminada Windows Installer puede llegar a utilizar hasta el 10% del tamaño del volumen donde se encuentra instalado Windows.

Por ejemplo, si tenemos instalado Windows en la unidad C: y esta unidad es de 100GB, el directorio C:\Windows\Installer puede llegar a crecer hasta los 10GB.

El tamaño máximo del la carpeta C:\Windows\Installer puede llegar a controlarse utilizando una clave en el registro o una GPO de equipo.

El requisito es que la versión de Windows Installer sea la 3.0 o superior.

Para averiguar la versión de Windows Installer, bastará con ejecutar desde CMD: msiexec /?

Vista versión Windows Installer


Veamos como controlar el tamaño de C:\Windows\Installer con una GPO de equipo.

En castellano:

"
Configuración del equipo > Directivas > Plantillas administrativas > Componentes de Windows > Windows InstallerControlar el tamaño máximo de la memoria caché de los archivos de línea base
"

En inglés:

"
Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Installer

Control maximum size of baseline file cache
"

e introducimos un valor.

Este valor corresponde al % de tamaño máximo de ocupación respecto al volumen donde se ubica Windows.

Ejemplos: 

- Disco de 100GB, valor 20, corresponde a 20GB de tamaño máximo.
- Disco de 100GB, valor 100, corresponde a 100GB de tamaño máximo.
- Disco de 100GB, valor 0, corresponde a 0GB de tamaño máximo.

El valor predeterminado es 10.

También podemos controlar el tamaño de C:\Windows\Installer con una clave en el registro:

reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d X /f

Donde X, seria el valor a configurar.

Hemos de tener en cuenta que la aplicación de la GPO o clave en el registro por ejemplo a valor 0, no eliminará los ficheros existentes.

---

En casos donde es necesario hacer limpieza de la carpeta y eliminar totalmente el directorio de caché, podríamos ejecutar:

Desde un CMD con derechos de Administrador:

Net Stop msiserver /Y

Reg Add HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d 0 /f

RmDir /q /s %WINDIR%\Installer\$PatchCache$

Net Start msiserver /Y

Net Stop msiserver /Y
 
Reg Add HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d 10 /f

Net Start msiserver /Y

El proceso consiste el lo siguiente:

- Detenemos el servicio de Windows Installer.
- Añadimos la clave en el registro que configura el tamaño de la caché a 0.
- Borramos el contenido de la carpeta $PatchCache$
- Iniciamos el servicio Windows Installer, para que actúe el parámetro 0.
- Detenemos el servicio de Windows Installer.
- Añadimos la clave en el registro que configura el tamaño de la caché a 10, valor predeterminado.
- Iniciamos el servicio Windows Installer, para que actúe el parámetro 10.

2 comentarios:

  1. cuando paso al 2do paso me dice acceso denegado ¿por que? si me podrias ayudar te lo agradecere mucho

    ResponderEliminar
    Respuestas
    1. Seguramente es que no tienes abierta la ventana de cmd como administrador.

      Un saludo,

      Xavi.

      Eliminar