Sobre las transformaciones
Una transformación es una colección de cambios aplicados a una instalación. Al aplicar una transformación a un paquete de instalación base, el instalador puede agregar o reemplazar datos en la base de datos de instalación. El instalador solo puede aplicar transformaciones durante una instalación.
El instalador registra una lista de transformaciones requeridas por el producto durante la instalación. El instalador debe aplicar estas transformaciones al paquete de instalación del producto al configurar o instalar el producto. Si una transformación de la lista no está disponible y la resistencia del origen de transformación no puede restaurarla, se produce un error en la instalación.
Una transformación puede modificar la información que se encuentra en cualquier tabla persistente de la base de datos del instalador. Una transformación también puede agregar o quitar tablas persistentes en la base de datos del instalador. Las transformaciones no pueden modificar ninguna parte de un paquete de instalación que no esté en una tabla de base de datos, como información en el lujo de información de resumen, información en subalmacenamientos o archivos en gabinetes incrustados.
Las transformaciones tienen un flujo de información de resumen que puede contener condiciones de validación y de error. Las condiciones de validación y de error de transformación se pueden agregar a la información de resumen mediante la función MsiCreateTransformSummaryInfo. Las condiciones de validación controlan si el instalador puede aplicar la transformación a una base de datos de instalación determinada. La validación de la transformación puede estar condicionada a los valores de las propiedades UpgradeCode, ProductCode, ProductVersion y ProductLanguage especificadas en la transformación y en las de la base de datos de instalación. Las condiciones de error de transformación controlan qué errores se suprimen cuando se aplica la transformación. Las condiciones de error incluidas en la transformación se invalidan mediante las condiciones de error especificadas mediante los métodos MsiDatabaseApplyTransform y ApplyTransform.
Nota:
Las transformaciones de personalización típicas no tienen condiciones de validación ni se validan con ProductCode. Las transformaciones almacenadas en los paquetes de revisión suelen tener condiciones de validación estrictas para asegurarse de que la transformación correcta se aplica al destino de revisión.
Hay tres tipos de transformaciones de Windows Installer: