En general, un parche incluye los siguientes componentes:
Información del parche:
Identificación, compuesta por el ID y la versión del parche
Aplicabilidad, es decir, el tipo de sistema operativo, la versión del sistema operativo y la arquitectura
Dependencias, como requires y obsoletes
Propiedades, como el requisito de reiniciar posteriormente
Uno o más paquetes a los que aplicar parches, en los que cada paquete contiene:
La versión del paquete a la que se pueden aplicar los parches
Información del parche, como el ID, obsoletes y requires
Uno o más componentes del paquete a los que se debe aplicar el parche
Cuando se utiliza el comando patchadd para aplicar un parche, la información del parche se utiliza para determinar si el parche se puede aplicar al sistema en ejecución. Si se determina que no es aplicable, el parche no se aplica. También se comprueban las dependencias del parche con respecto a todas las zonas del sistema. Si no se cumplen las dependencias necesarias, el parche no se aplica. Por ejemplo, en el caso de que ya haya instalada una versión posterior del parche.
Se comprueba cada paquete que contiene el parche. Si el paquete no está instalado en ninguna zona, se omite y no se le aplica el parche.
Si se cumplen todas las dependencias, se utilizan todos los paquetes del parche que se instalan en una zona para aplicar el parche al sistema. También se actualizan las bases de datos de paquetes y parches.
Solaris 10 3/05 a través de Solaris 10 11/06: si un paquete se instala con la opción pkgadd -G o tiene el parámetro pkginfo SUNW_PKG_THISZONE=true, sólo se puede aplicar el parche al paquete con patchadd - G. En la versión 8/07 de Solaris esta restricción se ha eliminado.